4 ms·
I'm never quite sure about the state of zlib. There are commits going in [0] but at the same time pull requests with fixes aren't seeing much traction (e.g. [1]
by zmodem 5y ago
I'm never quite sure about the state of zlib. There are commits going in [0] but at the same time pull requests with fixes aren't seeing much traction (e.g. [1]).
Optimization work happens in forks like Intel's [2], Cloudflare's [3], and Chromium's [4], the latter of which also has a lot of added tests and fuzzers [5]. And there's zlib-ng [6] which tries to create a home for many of the improvements, but is at the same time yet another fork.
[0] https://github.com/madler/zlib/commits/develop https://github.com/madler/zlib/commits/develop
[1] https://github.com/madler/zlib/pull/525 https://github.com/madler/zlib/pull/525
[2] https://github.com/jtkukunas/zlib https://github.com/jtkukunas/zlib
[3] https://github.com/cloudflare/zlib https://github.com/cloudflare/zlib
[4] https://source.chromium.org/chromium/chromium/src/+/main:third_party/zlib/ https://source.chromium.org/chromium/chromium/src/+/main:thi...
[5] https://source.chromium.org/chromium/chromium/src/+/main:third_party/zlib/contrib/tests/fuzzers/ https://source.chromium.org/chromium/chromium/src/+/main:thi...
[6] https://github.com/zlib-ng/zlib-ng https://github.com/zlib-ng/zlib-ng
(edit: line breaks)
- mananaysiempre 5y agoGoing away from Zlib proper but staying with its format, there’s libdeflate[1], an implementation that’s substantially faster on modern machines but can’t stream (although I see no reason why it couldn’t, probably just for simplicity due to its origins as a baseline fast compressor[2]), and of course Zopfli[3], a glacially slow compressor that’s somewhat (and occasionally a lot) better. [1] https://github.com/ebiggers/libdeflate https://github.com/ebiggers/libdeflate [2] https://encode.su/threads/2482-libdeflate-a-new-optimized-DEFLATE-implementation https://encode.su/threads/2482-libdeflate-a-new-optimized-DE... [3] https://github.com/google/zopfli https://github.com/google/zopfli
- melissalobos 5y agoI have tried using zlib-ng on a project before, but I found it had too many issues when trying to deploy it. Almost every distro packs zlib, and zlib is so fundamental you can't just wholesale replace it, so you wind up with an almost the same library and regular zlib. I can't remember the exact details(maybe something with RPATH?), but we had to wind up just using the system zlib due to deployment issues.