32 karma · joined June 17, 2016
Could be worth checking
Ever heard of flag `--ultra` ? Without it, zstd memory usage will be limited to 8 MB. It has been there since, forever.
But Jarek's ANS paper was first out in 2007, and almost no one paid attention to it, because it was plain inscrutable.
Many years later, it took an individual to create FSE (https://github.com/Cyan4973/FiniteStateEntropy), to prove that it could be transformed into something actually useful and competitive. Since then, the paper has been updated a few times, borrowing a few points from FSE in order to become more readable. But it's still very hard to read.
In contrast, FSE code can be copy/pasted.
And all of a sudden, lot of versions have popped out over Internet. By pure chance, they all look like derivatives of FSE or Fabian Giesen's rANS, but they pay tribute to Jarek's ANS paper, because quite clearly it is the source of their work, and prior existence of an actual open source implementation which works and looks pretty damn close to theirs was purely accidental.
This is not paying tribute where it's due.
Apple's fse implementation is based on an open-source work from an individual which predates lzfse by about ~20 months.
https://github.com/Cyan4973/FiniteStateEntropy
It's even less optimized than the original one, due to a few errors that slipped through during lzfse conception.
http://encode.ru/threads/2221-LZFSE-New-Apple-Data-Compressi...