The soci snapshotter uses zlib for index generation / decompression. There is also zlib-ng, which contains optimizations for "next-generation" systems (such as SIMD, Intel and Cloudfare optimizations, et cetera).
The motivation for this fork came after seeing several 3rd party contributions containing new optimizations not getting implemented into the official zlib repository.
Mark Adler has been maintaining zlib for a very long time, and he has done a great job and hopefully he will continue for a long time yet. The idea of zlib-ng is not to replace zlib, but to co-exist as a drop-in replacement with a lower threshold for code change.
Early benchmarks using the time command and zran.c with various output sizes (100bytes - 10MiB) shows that zlib-ng performs 25%-60% better than zlib.
Describe the solution you'd like
1) SOCI uses zlib-ng instead of zlib for index generation and decompression at runtime
1) Run some amount of verification that the zlib-ng version of SOCI is compatible with non zlib version
1) Perform benchmarking to show the differences
1) Update docs on building against zlib-ng
Describe any alternative solutions/features you've considered
Description
https://github.com/zlib-ng/zlib-ng
The soci snapshotter uses zlib for index generation / decompression. There is also zlib-ng, which contains optimizations for "next-generation" systems (such as SIMD, Intel and Cloudfare optimizations, et cetera).
From zlib-ng's README:
Early benchmarks using the time command and zran.c with various output sizes (100bytes - 10MiB) shows that zlib-ng performs 25%-60% better than zlib.
Describe the solution you'd like
1) SOCI uses zlib-ng instead of zlib for index generation and decompression at runtime 1) Run some amount of verification that the zlib-ng version of SOCI is compatible with non zlib version 1) Perform benchmarking to show the differences 1) Update docs on building against zlib-ng
Describe any alternative solutions/features you've considered
We have an alternative to rewrite our indexer in pure go: https://github.com/awslabs/soci-snapshotter/issues/76
Any additional context or information about the feature request
No response