zlib-rs 0.6.4 Released With Fix For Intel Raptor Lake Crash, SIMD Optimizations
([Free Software] 2 Hours Ago
zlib-rs 0.6.4)
- Reference: 0001642268
- News link: https://www.phoronix.com/news/zlib-rs-0.6.4
- Source link:
As a follow-up to last week's article around [1]Firefox leveraging zlib-rs and some nice upstream improvements to this Rust-based Zlib implementation, the zlib-rs 0.6.4 release is now available to ship all of these latest enhancements.
Zlib-rs 0.6.4 is out today as the latest stable releaase for this Rust Zlib implementation that continues to see adoption for its memory safety capabilities with being written in Rust as well as delivering very nice Zlib compression/decompression performannce at large.
As covered in the recent Trifecta Tech Foundation blog post, Zlib-rs was plagued by an Intel Raptor Lake stability issue the past year. That bug ultimately comes down to a particular MOVB pattern that on Raptor Lake can trigger a bug due to silent memory corruption. Zlib-rs 0.6.4 works around that while the newer LLVM Clang compiler code also works around it as well.
Zlib-rrs 0.6.4 also fixes an off-by-one error in its Adler32 implementation on AArch64 that was leading to incorrect checksums. This doesn't affect the scalar or x86_64 AVX2/AVX-512 implementations but just the AArch64 NEON code path due to an integer overflow.
Zlib-rs 0.6.4 also uses a VNNI ILP trick for standard AVX-512 that at least with AMD Zen 5 processors is showing slightly better performance. There is also work on LoongArch64 seeing an optimized CRC32 implementation, CI improvements, and a variety of other changes.
Zlib-rs 0.6.4 downloads and more information on this Rust Zlib implementation update via [2]GitHub .
[1] https://www.phoronix.com/news/Mozilla-Firefox-zlib-rs-Usage
[2] https://www.phoronix.com/news/="https://github.com/trifectatechfoundation/zlib-rs/releases/tag/v0.6.4"
Zlib-rs 0.6.4 is out today as the latest stable releaase for this Rust Zlib implementation that continues to see adoption for its memory safety capabilities with being written in Rust as well as delivering very nice Zlib compression/decompression performannce at large.
As covered in the recent Trifecta Tech Foundation blog post, Zlib-rs was plagued by an Intel Raptor Lake stability issue the past year. That bug ultimately comes down to a particular MOVB pattern that on Raptor Lake can trigger a bug due to silent memory corruption. Zlib-rs 0.6.4 works around that while the newer LLVM Clang compiler code also works around it as well.
Zlib-rrs 0.6.4 also fixes an off-by-one error in its Adler32 implementation on AArch64 that was leading to incorrect checksums. This doesn't affect the scalar or x86_64 AVX2/AVX-512 implementations but just the AArch64 NEON code path due to an integer overflow.
Zlib-rs 0.6.4 also uses a VNNI ILP trick for standard AVX-512 that at least with AMD Zen 5 processors is showing slightly better performance. There is also work on LoongArch64 seeing an optimized CRC32 implementation, CI improvements, and a variety of other changes.
Zlib-rs 0.6.4 downloads and more information on this Rust Zlib implementation update via [2]GitHub .
[1] https://www.phoronix.com/news/Mozilla-Firefox-zlib-rs-Usage
[2] https://www.phoronix.com/news/="https://github.com/trifectatechfoundation/zlib-rs/releases/tag/v0.6.4"