There is slightly more to it. Zhuff also uses a sliding window, in place of the simpler chunking used in LZ4. It avoids some memory wasting, and keep the compression potential at full window size all the time. I also added an incompressible segment detector.
Zhuff succeeded at its time to be the fastest compressor for its compression rate, winning first place in several benchmarks. Since then, the focus changed to multi-threading, faring zhuff at a disadvantage since it uses just one core. Nonetheless, it still features an excellent energy-efficient profile, just behind Etincelle (which works best on larger source files).
This could change in the future, but for the time being, let's just re-use recent learnings to improve over last year version.
It works relatively well. The new version is significantly faster, and on top of that, slightly improves compression ratio.
version | Compression Ratio | Speed | Decoding | |
Zhuff | 0.4 | 2.532 | 161 MB/s | 279 MB/s |
Zhuff | 0.3 | 2.508 | 139 MB/s | 276 MB/s |
You can note that the compression ratio is quite better than LZ4HC, while the speed is much faster. It simply shows that entropy compression power is stronger than full search, while costing much less CPU.
On the other hand, decoding speed is sharply reduced compared to LZ4, which is also an effect of second-stage entropy compression.
You can download it on its webpage.
No comments:
Post a Comment