Get the latest tech news
zlib-ng: zlib replacement with optimizations for "next generation" systems
zlib replacement with optimizations for "next generation" systems. - zlib-ng/zlib-ng
Zlib compatible API with support for dual-linking Modernized native API based on zlib API for ease of porting Modern C11 syntax and a clean code layout Deflate medium and quick algorithms based on Intel’s zlib fork Support for CPU intrinsics when available Adler32 implementation using SSSE3, AVX2, AVX512, AVX512-VNNI, Neon, VMX & VSX CRC32-B implementation using PCLMULQDQ, VPCLMULQDQ, ARMv8, & IBM Z Slide hash implementations using SSE2, AVX2, ARMv6, Neon, VMX & VSX Compare256 implementations using SSE2, AVX2, Neon, POWER9 & RVV Inflate chunk copying using SSE2, SSSE3, AVX, Neon & VSX Support for hardware-accelerated deflate using IBM Z DFLTCC Safe unaligned memory read/writes and large bit buffer improvements Includes improvements from Cloudflare and Intel forks Configure, CMake, and NMake build system support Comprehensive set of CMake unit tests Code sanitizers, fuzzing, and coverage GitHub Actions continuous integration on Windows, macOS, and Linux Emulated CI for ARM, AARCH64, PPC, PPC64, RISCV, SPARC64, S390x using qemu CMakeconfigureDescriptionDefaultZLIB_COMPAT--zlib-compatCompile with zlib compatible APIOFFZLIB_ENABLE_TESTSBuild test binariesONWITH_GZFILEOP--without-gzfileopsCompile with support for gzFile related functionsONWITH_OPTIM--without-optimizationsBuild with optimisationsONWITH_NEW_STRATEGIES--without-new-strategiesUse new strategiesONWITH_NATIVE_INSTRUCTIONSCompiles with full instruction set supported on this host (gcc/clang -march=native)OFFWITH_RUNTIME_CPU_DETECTIONCompiles with runtime CPU detectionONWITH_SANITIZERBuild with sanitizer (memory, address, undefined)OFFWITH_GTESTBuild gtest_zlibONWITH_FUZZERSBuild test/fuzzOFFWITH_BENCHMARKSBuild test/benchmarksOFFWITH_MAINTAINER_WARNINGSBuild with project maintainer warningsOFFWITH_CODE_COVERAGEEnable code coverage reportingOFFWARNING: We do not recommend manually installing unless you really know what you are doing, because this can potentially override the system default zlib library, and any incompatibility or wrong configuration of zlib-ng can make the whole system unusable, requiring recovery or reinstall.
Or read this on Hacker News