Pelepasan perpustakaan zlib-ng 2.0 sayogi sareng ditandaan salaku sékrési stabil mimiti proyek (dituturkeun ku pelepasan korektif 2.0.1). Zlib-ng kompatibel jeung zlib di tingkat API, tapi nyadiakeun optimizations tambahan nu teu katampa kana Repository zlib resmi alatan pendekatan konservatif narima parobahan. Salaku tambahan, diajukeun API anu dimodernisasi, dumasar kana zlib, tapi dirobih pikeun nyederhanakeun porting. Kodeu proyék ditulis dina C sareng disebarkeun dina lisénsi Zlib.
Tés anu dilakukeun dina sistem x86_64 nunjukkeun yén nalika ngalakukeun operasi komprési, Zlib-ng kirang langkung 4 kali langkung gancang tibatan zlib sareng 2.1 kali langkung gancang tibatan gzip. Nalika decompressing, Zlib-ng sakitar 2.4 kali langkung gancang tibatan zlib sareng 1.8 kali langkung gancang tibatan gzip. Paningkatan signifikan dina kinerja komprési / decompression kahontal utamana alatan pamakéan instruksi vektor SSE *, AVX2, VSX jeung Neon.
Kaasup palaksanaan tambahan tina algoritma checksum Adler32, dioptimalkeun nganggo SSSE3, AVX2, Neon sareng VSX paréntah, palaksanaan CRC32-B dumasar kana PCLMULQDQ sareng ACLE, ningkat tabel hash, Geser palaksanaan hash dumasar kana SSE2, AVX2, Neon sareng VSX , Operasi ngabandingkeun dumasar kana on SSE4.2 jeung AVX2. Komposisi ogé kalebet parobihan anu ditujukeun pikeun ningkatkeun kinerja, dianggo dina garpu ti Intel sareng Cloudflare. Prosés gawé bareng buffers geus dioptimalkeun. Ditambahkeun dukungan pikeun sistem ngawangun CMake sareng NMake. Sistem integrasi kontinyu dianggo pikeun nguji.
Salian optimasi, Zlib-ng ogé kalebet patches anu akumulasi dina bungkusan distribusi sareng ngabersihkeun kode tina workarounds anu dianggo dina zlib pikeun ngadukung kompiler sareng platform anu langkung lami, tapi anu nyegah palaksanaan metode anu langkung efisien (contona, larangan anu diperyogikeun pikeun ngadukung. Sistem 16-bit sareng kompiler non-ANSI C). Usaha parantos dilaksanakeun pikeun ngaidentipikasi sareng ngabenerkeun kasalahan anu diidentipikasi ku analisa statik, sistem uji fuzzing, sareng alat pikeun ngaidentipikasi masalah nalika damel sareng memori (AddressSanitizer sareng MemorySanitizer).
sumber: opennet.ru
