Is gzip actually obsolete or are there just newer alternatives? gzip is still everywhere
That said, the igzip re-implementation is really good. If you can use it, igzip moves gzip closer to the optimal frontier.
But yes, lz4 and zstd would be what I'd recommend people use.
zlib-ng tried to merge as much as they could from the cloudflare fork without getting into licensing issues.
I would just go for lz4 and zstd, really, at this point, but if for some reason gzip is necessary or fits your use case better, ...
(Though I'd really like to hear what that is.)
Plus, if you want super compatibility there is older-than-dirt pkzip/infozip.
Zstd can use a much larger window (8MB recommended) and a much better entropy coder: https://github.com/Cyan4973/FiniteStateEntropy
Now you know why they are comparing 16KB payloads only.
We also have some half baked ideas to combine a fast SW match finder that only looks for matches >64KB away, and supplements the matches that QAT finds.
Download TurbBench from Releases [2]
Here Some Benchmarks:
- https://github.com/zlib-ng/zlib-ng/issues/1486
- https://github.com/powturbo/TurboBench/issues/43
The major downside of course is it is quite tricky to use this stuff in practice. In the cloud, you need a bare metal instance that exposes the QAT peripheral, and they are relatively scarce. And this whole generation of hardware is only just beginning to land in public clouds. For machines you own, you will need to scrutinize Intel's somewhat ridiculous product matrix in order to acquire a Xeon that has QAT.