New Zlib-rs Delivers More Performance With AVX-512 VNNI Adler32 Implementation
([Free Software] 4 Hours Ago
zlib-rs)
- Reference: 0001616890
- News link: https://www.phoronix.com/news/Zlib-rs-VNNI-Adler32
- Source link:
Zlib-rs as the Rust programming language implementation of Zlib from the Trifetca Tech Foundation is out with a shiny new release (actually, releases) today.
[1]Zlib-rs 0.6.1 was released today with a variety of bug fixes, fuzzing enhancements, and other improvements to the codebase. What I found most interesting with Zlib-rs 0.6.1 was [2]a VNNI Adler32 variant . The AVX-512 VNNI implementation is faster than [3]the AVX-512 baseline code found in prior Zlib-rs releases. The merge request noted some pretty significant improvements:
Intel Xeon CPUs since Cascade Lake and all AMD CPUs since Zen 4 support AVX-512 VNNI.
The Zlib-rs developers didn't stop with v0.6.1 today. Following that was already [4]zlib-rs 0.6.2 as a brown paper bag release to fix overflows happening in the deflate code. [5]Zlib-rs 0.6.3 also arrived today with additional fixes. The motivator here was a bug in the deflate output not being deterministic when the compressor is reused with deflateReset. This bug also turned out to impact zlib-ng, which has addressed the issue and so has zlib-rs now too.
[1] https://github.com/trifectatechfoundation/zlib-rs/releases/tag/v0.6.1
[2] https://github.com/trifectatechfoundation/zlib-rs/pull/448
[3] https://www.phoronix.com/news/Zlib-rs-0.5.3
[4] https://github.com/trifectatechfoundation/zlib-rs/releases/tag/v0.6.2
[5] https://github.com/trifectatechfoundation/zlib-rs/releases/tag/v0.6.3
[1]Zlib-rs 0.6.1 was released today with a variety of bug fixes, fuzzing enhancements, and other improvements to the codebase. What I found most interesting with Zlib-rs 0.6.1 was [2]a VNNI Adler32 variant . The AVX-512 VNNI implementation is faster than [3]the AVX-512 baseline code found in prior Zlib-rs releases. The merge request noted some pretty significant improvements:
Intel Xeon CPUs since Cascade Lake and all AMD CPUs since Zen 4 support AVX-512 VNNI.
The Zlib-rs developers didn't stop with v0.6.1 today. Following that was already [4]zlib-rs 0.6.2 as a brown paper bag release to fix overflows happening in the deflate code. [5]Zlib-rs 0.6.3 also arrived today with additional fixes. The motivator here was a bug in the deflate output not being deterministic when the compressor is reused with deflateReset. This bug also turned out to impact zlib-ng, which has addressed the issue and so has zlib-rs now too.
[1] https://github.com/trifectatechfoundation/zlib-rs/releases/tag/v0.6.1
[2] https://github.com/trifectatechfoundation/zlib-rs/pull/448
[3] https://www.phoronix.com/news/Zlib-rs-0.5.3
[4] https://github.com/trifectatechfoundation/zlib-rs/releases/tag/v0.6.2
[5] https://github.com/trifectatechfoundation/zlib-rs/releases/tag/v0.6.3