เบเบฒเบ™เบ›เปˆเบญเบเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡ zlib-ng, เบชเป‰เบญเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เบ‚เบญเบ‡ zlib

ะ”ะพัั‚ัƒะฟะตะฝ ั€ะตะปะธะท ะฑะธะฑะปะธะพั‚ะตะบะธ zlib-ng 2.0 ะบะพั‚ะพั€ั‹ะน ะพั‚ะผะตั‡ะตะฝ ะบะฐะบ ะฟะตั€ะฒั‹ะน ัั‚ะฐะฑะธะปัŒะฝั‹ะน ะฒั‹ะฟัƒัะบ ะฟั€ะพะตะบั‚ะฐ (ัะปะตะดะพะผ ัƒะถะต ะดะพัั‚ัƒะฟะตะฝ ะบะพั€ั€ะตะบั‚ะธั€ัƒัŽั‰ะธะน ะฒั‹ะฟัƒัะบ 2.0.1). Zlib-ng ัะพะฒะผะตัั‚ะธะผ ั zlib ะฝะฐ ัƒั€ะพะฒะฝะต API, ะฝะพ ะฟั€ะตะดะพัั‚ะฐะฒะปัะตั‚ ะดะพะฟะพะปะฝะธั‚ะตะปัŒะฝั‹ะต ะพะฟั‚ะธะผะธะทะฐั†ะธะธ, ะฝะต ะฟั€ะธะฝัั‚ั‹ะต ะฒ ะพั„ะธั†ะธะฐะปัŒะฝั‹ะน ั€ะตะฟะพะทะธั‚ะพั€ะธะน zlib ะธะท-ะทะฐ ะบะพะฝัะตั€ะฒะฐั‚ะธะฒะฝะพะณะพ ะฟะพะดั…ะพะดะฐ ะบ ะฟั€ะธั‘ะผัƒ ะธะทะผะตะฝะตะฝะธะน. ะ”ะพะฟะพะปะฝะธั‚ะตะปัŒะฝะพ ะฟั€ะตะดะปะพะถะตะฝ ะผะพะดะตั€ะฝะธะทะธั€ะพะฒะฐะฝะฝั‹ะน API, ะพัะฝะพะฒะฐะฝะฝั‹ะน ะฝะฐ zlib, ะฝะพ ะธะทะผะตะฝั‘ะฝะฝั‹ะน ะดะปั ัƒะฟั€ะพั‰ะตะฝะธั ะฟะพั€ั‚ะธั€ะพะฒะฐะฝะธั. ะšะพะด ะฟั€ะพะตะบั‚ะฐ ะฝะฐะฟะธัะฐะฝ ะฝะฐ ัะทั‹ะบะต ะกะธ ะธ ั€ะฐัะฟั€ะพัั‚ั€ะฐะฝัะตั‚ัั ะฟะพะด ะปะธั†ะตะฝะทะธะตะน Zlib.

ะŸั€ะพะฒะตะดั‘ะฝะฝั‹ะต ะฝะฐ ัะธัั‚ะตะผะฐั… x86_64 ั‚ะตัั‚ั‹ ะฟะพะบะฐะทะฐะปะธ, ั‡ั‚ะพ ะฟั€ะธ ะฒั‹ะฟะพะปะฝะตะฝะธะธ ะพะฟะตั€ะฐั†ะธะน ัะถะฐั‚ะธั Zlib-ng ะฟั€ะธะผะตั€ะฝะพ ะฒ 4 ั€ะฐะทะฐ ะฑั‹ัั‚ั€ะตะต zlib ะธ ะฒ 2.1 ั€ะฐะทะฐ ะฑั‹ัั‚ั€ะตะต gzip. ะŸั€ะธ ั€ะฐัะฟะฐะบะพะฒะบะต Zlib-ng ะฟั€ะธะผะตั€ะฝะพ ะฒ 2.4 ั€ะฐะทะฐ ะฑั‹ัั‚ั€ะตะต zlib ะธ ะฒ 1.8 ั€ะฐะท ะฑั‹ัั‚ั€ะตะต gzip. ะ”ะพะฑะธั‚ัŒัั ััƒั‰ะตัั‚ะฒะตะฝะฝะพะณะพ ะฟะพะฒั‹ัˆะตะฝะธั ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ ัะถะฐั‚ะธั/ั€ะฐัะฟะฐะบะพะฒะบะธ ะฒ ะพัะฝะพะฒะฝะพะผ ัƒะดะฐะปะพััŒ ะฑะปะฐะณะพะดะฐั€ั ะทะฐะดะตะนัั‚ะฒะพะฒะฐะฝะธัŽ ะฒะตะบั‚ะพั€ะฝั‹ั… ะธะฝัั‚ั€ัƒะบั†ะธะน SSE*, AVX2, VSX ะธ Neon.

ะ’ ั‚ะพะผ ั‡ะธัะปะต ะดะพะฑะฐะฒะปะตะฝะฐ ั€ะตะฐะปะธะทะฐั†ะธั ะฐะปะณะพั€ะธั‚ะผะฐ ะฒั‹ั‡ะธัะปะตะฝะธั ะบะพะฝั‚ั€ะพะปัŒะฝั‹ั… ััƒะผะผ Adler32, ะพะฟั‚ะธะผะธะทะธั€ะพะฒะฐะฝะฝะฐั ะฟั€ะธ ะฟะพะผะพั‰ะธ ะธะฝัั‚ั€ัƒะบั†ะธะน SSSE3, AVX2, Neon ะธ VSX, ั€ะตะฐะปะธะทะฐั†ะธั CRC32-B ะฝะฐ ะฑะฐะทะต PCLMULQDQ ะธ ACLE, ัƒัะพะฒะตั€ัˆะตะฝัั‚ะฒะพะฒะฐะฝะฝั‹ะต ั…ััˆ-ั‚ะฐะฑะปะธั†ั‹, ั€ะตะฐะปะธะทะฐั†ะธั ั…ััˆะฐ Slide ะฝะฐ ะฑะฐะทะต SSE2, AVX2, Neon ะธ VSX, ะพะฟะตั€ะฐั†ะธะธ ัั€ะฐะฒะฝะตะฝะธั ะฝะฐ ะฑะฐะทะต SSE4.2 ะธ AVX2. ะ’ ัะพัั‚ะฐะฒ ั‚ะฐะบะถะต ะฒะบะปัŽั‡ะตะฝั‹ ะฝะฐั†ะตะปะตะฝะฝั‹ะต ะฝะฐ ะฟะพะฒั‹ัˆะตะฝะธะต ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ ะธะทะผะตะฝะตะฝะธั, ะธัะฟะพะปัŒะทัƒะตะผั‹ะต ะฒ ั„ะพั€ะบะฐั… ะพั‚ ะบะพะผะฟะฐะฝะธะน Intel ะธ Cloudflare. ะžะฟั‚ะธะผะธะทะธั€ะพะฒะฐะฝ ะฟั€ะพั†ะตัั ั€ะฐะฑะพั‚ั‹ ั ะฑัƒั„ะตั€ะฐะผะธ. ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัะฑะพั€ะพั‡ะฝั‹ั… ัะธัั‚ะตะผ CMake ะธ NMake. ะ”ะปั ั‚ะตัั‚ะธั€ะพะฒะฐะฝะธั ะทะฐะดะตะนัั‚ะฒะพะฒะฐะฝั‹ ัะธัั‚ะตะผั‹ ะฝะตะฟั€ะตั€ั‹ะฒะฝะพะน ะธะฝั‚ะตะณั€ะฐั†ะธะธ.

ะšั€ะพะผะต ะพะฟั‚ะธะผะธะทะฐั†ะธะน ะฒ Zlib-ng ั‚ะฐะบะถะต ะฒะบะปัŽั‡ะตะฝั‹ ะฝะฐะบะพะฟะธะฒัˆะธะตัั ะฒ ะฟะฐะบะตั‚ะฐั… ะดะธัั‚ั€ะธะฑัƒั‚ะธะฒะพะฒ ะฟะฐั‚ั‡ะธ ะธ ะฟั€ะพะฒะตะดะตะฝะฐ ั‡ะธัั‚ะบะฐ ะบะพะดะฐ ะพั‚ ะพะฑั…ะพะดะฝั‹ั… ั€ะตัˆะตะฝะธะน, ะธัะฟะพะปัŒะทัƒะตะผั‹ั… ะฒ zlib ะดะปั ะฟะพะดะดะตั€ะถะบะธ ัั‚ะฐั€ั‹ั… ะบะพะผะฟะธะปัั‚ะพั€ะพะฒ ะธ ะฟะปะฐั‚ั„ะพั€ะผ, ะฝะพ ะผะตัˆะฐัŽั‰ะธั… ั€ะตะฐะปะธะทะฐั†ะธะธ ะฑะพะปะตะต ัั„ั„ะตะบั‚ะธะฒะฝั‹ั… ะผะตั‚ะพะดะพะฒ (ะฝะฐะฟั€ะธะผะตั€, ะพะณั€ะฐะฝะธั‡ะตะฝะธั, ะฝะตะพะฑั…ะพะดะธะผั‹ะต ะดะปั ะฟะพะดะดะตั€ะถะบะธ 16-ั€ะฐะทั€ัะดะฝั‹ั… ัะธัั‚ะตะผ ะธ ะฝะตัะพะฒะผะตัั‚ะธะผั‹ั… ั ANSI C ะบะพะผะฟะธะปัั‚ะพั€ะพะฒ). ะŸั€ะพะฒะตะดะตะฝะฐ ั€ะฐะฑะพั‚ะฐ ะฟะพ ะฒั‹ัะฒะปะตะฝะธัŽ ะธ ะธัะฟั€ะฐะฒะปะตะฝะธัŽ ะพัˆะธะฑะพะบ, ะฒั‹ัะฒะปะตะฝะฝั‹ั… ัั‚ะฐั‚ะธั‡ะตัะบะธะผะธ ะฐะฝะฐะปะธะทะฐั‚ะพั€ะฐะผะธ, ัะธัั‚ะตะผะฐะผะธ fuzzing-ั‚ะตัั‚ะธั€ะพะฒะฐะฝะธั, ะธ ะธะฝัั‚ั€ัƒะผะตะฝั‚ะฐะผะธ ะดะปั ะฒั‹ัะฒะปะตะฝะธั ะฟั€ะพะฑะปะตะผ ะฟั€ะธ ั€ะฐะฑะพั‚ะต ั ะฟะฐะผัั‚ัŒัŽ (AddressSanitizer ะธ MemorySanitizer).

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™