mitiko / BWDPerf

BWD stands for Best Word Dictionary as it has the ability to be an optimal dictionary coder.
https://mitiko.github.io/BWDPerf
GNU General Public License v3.0
0 stars 1 forks source link

Fixed BitVector (IndexOutOfRange when length is 0); Tiny performance improvement; Measure entropy of dictionary; Added testcase for BitVector #19

Closed GotthardtZ closed 3 years ago

mitiko commented 3 years ago

I'd also love to hear about your experience with the project. Did you find it hard to understand how stuff is linked together, or how to get it running, especially the tests? I haven't made any effort to help new contributors, so this PR really surprised me. Btw, I'm also looking forward to competing with your paq8gen when I add the new ranking function! :smiley:

GotthardtZ commented 3 years ago

I'd also love to hear about your experience with the project. Did you find it hard to understand how stuff is linked together, or how to get it running, especially the tests? I haven't made any effort to help new contributors, so this PR really surprised me.

Your feeling is right: not very easy to understand. I needed to jump in the middle and open code files and follow the information flow. There are a couple of remarks in the code that help. There is also your encode.su post , And finally there is also the https://mitiko.github.io/BWDPerf/ page. However the latter would help more if it would contain more information about the current architecture in a chapter dedicated to that topic - now the article has intertwined parts of current state, past history and ideas for the future. Reorganizing those sections (the information provided) would help the reader.

If you would like to help future contributors, write a chapter about the architecture, comment each class in your code: what the responsibility of each class is. However if you think the architecture would change significantly in the near future, don't document it now.

Summary: I'm still unsure how things work and what the purpose of each part exactly.

Btw, I'm also looking forward to competing with your paq8gen when I add the new ranking function! 😃 Good luck! Probably a "simple" transform will not do it - you need modelling, too.