Улучшенная обработка SIMD и мультиверсионность вывели Rust-реализацию zlib в лидеры.
Проект zlib-rs Для просмотра ссылки Войдиили Зарегистрируйся версию 0.4.2, обеспечивающую значительный прирост производительности. По последним тестам, это самая быстрая API-совместимая реализация zlib для декомпрессии, а в ряде ключевых сценариев сжатия она также обходит конкурентов.
<h4>Оптимизация декомпрессии</h4> Одним из главных направлений улучшений стало более эффективное использование SIMD-инструкций. В предыдущих тестах zlib-rs получал преимущество благодаря флагу <code>target-cpu=native</code>, но это было не совсем честное сравнение, так как C-библиотека zlib-ng проверяла доступность SIMD во время выполнения. В новой версии этот момент устранён, и zlib-rs теперь сам выбирает оптимальный метод в рантайме.
<h3>Ключевые улучшения</h3>
<h4>Сравнение с zlib-chromium</h4> zlib-chromium быстрее на небольших блоках, но на реалистичных размерах (1 КБ и выше) zlib-rs уверенно побеждает, обеспечивая прирост скорости до 6.5%.
<h4>Оптимизация сжатия</h4> В области сжатия результаты смешанные. На уровне 6 (по умолчанию) zlib-rs выигрывает 6%, а на уровне 9 (максимальное сжатие) — более 13%. Однако на низких уровнях производительности пока уступает zlib-ng.
<h3>Что дальше?</h3>
Проект zlib-rs Для просмотра ссылки Войди
<h4>Оптимизация декомпрессии</h4> Одним из главных направлений улучшений стало более эффективное использование SIMD-инструкций. В предыдущих тестах zlib-rs получал преимущество благодаря флагу <code>target-cpu=native</code>, но это было не совсем честное сравнение, так как C-библиотека zlib-ng проверяла доступность SIMD во время выполнения. В новой версии этот момент устранён, и zlib-rs теперь сам выбирает оптимальный метод в рантайме.
<h3>Ключевые улучшения</h3>
- Мультиверсионность (Multiversioning): теперь библиотека поддерживает разные версии функций для разных процессоров, выбирая наилучшую с минимальными затратами.
- DFA-оптимизации: использование <code>-Cllvm-args=-enable-dfa-jump-thread</code> позволило ускорить обработку небольших блоков данных.
- Тестирование и мониторинг: создана панель мониторинга, которая отслеживает производительность текущей версии и сравнивает её с конкурентами.
<h4>Сравнение с zlib-chromium</h4> zlib-chromium быстрее на небольших блоках, но на реалистичных размерах (1 КБ и выше) zlib-rs уверенно побеждает, обеспечивая прирост скорости до 6.5%.
<h4>Оптимизация сжатия</h4> В области сжатия результаты смешанные. На уровне 6 (по умолчанию) zlib-rs выигрывает 6%, а на уровне 9 (максимальное сжатие) — более 13%. Однако на низких уровнях производительности пока уступает zlib-ng.
<h3>Что дальше?</h3>
- Улучшение поддержки API gzip, чтобы стать полноценной заменой zlib.
- Доработка системы упаковки и дальнейшая оптимизация.
- Поиск финансирования в размере €95.000 для завершения работы.
- Источник новости
- www.securitylab.ru