Проект zlib-ng нацелен на создание совместимой на уровне API замены библиотеке zlib, предоставляющей некоторые сторонние оптимизации, которые не реализованы в официальном репозитории zlib. В отличие от достаточно консервативного в плане приёма изменений проекта zlib, проект zlib-ng позиционируется как предоставляющий более низкий порог включения патчей, что способствует более быстрому доведению новых решений до пользователей.
Zlib-ng также допускает удаление обходных решений, используемых в zlib для поддержки старых компиляторов и платформ, если они мешают реализации более эффективных методов (например, в zlib применяются некоторые ограничения, необходимые для поддержки 16-разрядных систем и несовместимых с ANSI C компиляторов).
Из добавленных в zlib-ng изменений отмечается интеграция оптимизаций, подготовленных на основе комбинирования патчей от компаний Intel и Cloudflare. В итоге удалось заметно повысить скорость сжатия/распаковки, в основном за счёт использования инструкций SSE .
...
Читать дальше »