První stabilní verze zlib-ng, vysoce výkonného forku zlib

Byla vydána verze knihovny zlib-ng 2.0, která je označena jako první stabilní vydání projektu (doplňková verze 2.0.1 je již k dispozici). Zlib-ng je kompatibilní se zlib na úrovni API, ale nabízí dodatečné optimalizace, které nebyly přijaty do oficiálního repozitáře zlib z důvodu konzervativního přístupu k přijímání změn. Dále byla navržena modernizovaná API, založená na zlib, ale upravená pro zjednodušení přenositelnosti. Kód projektu je napsán v jazyce C a je distribuován pod licencí Zlib.

Testy provedené na systémech x86_64 ukázaly, že při provádění kompresních operací je Zlib-ng přibližně 4krát rychlejší než zlib a 2,1krát rychlejší než gzip. Při dekompresi je Zlib-ng přibližně 2,4krát rychlejší než zlib a 1,8krát rychlejší než gzip. Vysokého zvýšení výkonu komprese/dekomprese bylo dosaženo především díky využití vektorových instrukcí SSE*, AVX2, VSX a Neon.

Byla přidána implementace algoritmu pro výpočet kontrolních součtů Adler32, optimalizovaná pomocí instrukcí SSSE3, AVX2, Neon a VSX, implementace CRC32-B založená na PCLMULQDQ a ACLE, vylepšené hashovací tabulky, implementace hashe Slide založená na SSE2, AVX2, Neon a VSX, a operace porovnávání založené na SSE4.2 a AVX2. Součástí jsou také cílené změny na zlepšení výkonu, které byly použity ve forks od společností Intel a Cloudflare. Proces práce s buffery byl optimalizován. Byla přidána podpora pro buildovací systémy CMake a NMake. Pro testování byly použity systémy kontinuální integrace.

Kromě optimalizací obsahuje Zlib-ng také shromážděné patche z distribucí balíčků a došlo k vyčištění kódu od obcházejících řešení, která byla v zlib používána k podpoře starých kompilátorů a platforem, ale bránila implementaci efektivnějších metod (například omezení potřebná pro podporu 16bitových systémů a nekompatibilní kompilátory ANSI C). Byla provedena práce na identifikaci a opravě chyb, které odhalily statické analyzátory, systémy fuzzing testování a nástroje pro zjišťování problémů s pamětí (AddressSanitizer a MemorySanitizer).

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster