Первый стабильный выпуск zlib-ng, высокопроизводительного форка zlib
Автор
Сообщение
news_bot ®
Стаж: 7 лет 2 месяца
Сообщений: 27286
Доступен релиз библиотеки 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
===========
Похожие новости
- Главная ссылка к новости (https://github.com/zlib-ng/zli...)
- OpenNews: В рамках проекта zlib-ng развивается высокопроизводительный форк zlib
- OpenNews: Компания Intel представила серию патчей, существенно ускоряющих библиотеку сжатия zlib
- OpenNews: Компания Google представила совместимый с zlib алгоритм сжатия Zopfli
- OpenNews: Facebook опубликовал реализацию алгоритма сжатия Zstandard 1.0
- OpenNews: Библиотеки сжатия LZHAM и Crunch переведены в общественное достояние
Похожие новости:
- [Высокая производительность, Разработка под iOS, Разработка мобильных приложений, Разработка под Android, Микросервисы] Envoy как универсальный сетевой примитив
- [Разработка под iOS, Разработка мобильных приложений, Разработка под Android, Аналитика мобильных приложений] Как мы просто сократили объем входящего в дата-центр трафика на 70%
- [Видеоконференцсвязь, История IT, Работа с видео, Удалённая работа] История развития видеоконференций (перевод)
- [.NET, ASP, C#] Сжатие ответов в GRPC для ASP.NET CORE 3.0 (перевод)
- [Разработка веб-сайтов] Как уменьшить размер бандла — стратегия однобуквенных классов в css-modules (перевод)
- [Python, Data Mining, Алгоритмы, Машинное обучение, Natural Language Processing] Как сжать модель fastText в 100 раз
- [Информационная безопасность] Изучаем Adversarial Tactics, Techniques & Common Knowledge (ATT@CK). Enterprise Tactics. Часть 10
Теги для поиска: #_zlibng, #_zlib, #_compress
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 07-Май 02:44
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 7 лет 2 месяца |
|
Доступен релиз библиотеки 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 =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 07-Май 02:44
Часовой пояс: UTC + 5