Домой Софт macOS и Linux Релиз ZXC 0.8.0 и 0.8.1: высокопроизводительное сжатие данных

Релиз ZXC 0.8.0 и 0.8.1: высокопроизводительное сжатие данных

Инструмент для сжатия игровых ресурсов и прошивок получил значительный прирост производительности, поддержку больших блоков и удобные консольные функции.

Графический интерфейс или логотип библиотеки сжатия ZXC
Инструменты для оптимизации данных ZXC Источник: linux.org.ru

Состоялся релиз новых версий библиотеки и консольной утилиты ZXC (версии 0.8.0 и 0.8.1). Этот инструмент обеспечивает асимметричное сжатие данных без потерь, оптимизированное для работы с игровыми ресурсами, прошивками и различными пакетами приложений.

Разработчики заявляют, что скорость распаковки в ZXC превышает показатели LZ4 на архитектуре ARM64 более чем на 40%, при этом обеспечивая более высокие коэффициенты сжатия. Проект написан на языке C и доступен по лицензии BSD 3.

Ключевые изменения в ZXC 0.8.0

  • Обновление формата: Версия формата повышена до 5, что нарушает обратную совместимость. Введено смещение LZ (+1) для устранения векторов атаки с нулевым смещением, а контрольные суммы заголовков теперь вычисляются через алгоритм Marsaglia xorshift.
  • Оптимизация производительности: Обновленная стратегия хеширования LZ77 и переработанные хеш-таблицы значительно ускорили работу на разных архитектурах.
  • Уровни сжатия: Для уровней 3–5 прирост скорости сжатия составил 33–43% (на x86_64 и ARM64), а для быстрых уровней 1 и 2 — от 8% до 18%.
  • Работа с ошибками: Полностью переработана система кодов ошибок; Python-враппер теперь поддерживает нативную отчетность об ошибках на базе C-констант.
  • Масштабируемость: Ограничение ZXC_BLOCK_SIZE в 1 МБ снято, формат теперь официально поддерживает блоки до 8 МБ.
  • Консольные возможности: Добавлен режим -m (--multiple) для пакетной обработки файлов и -r (--recursive) для работы с целыми директориями и их подкаталогами.

Особенности ZXC 0.8.1

Данное обновление направлено исключительно на исправление генерации динамической библиотеки libzxc.so.1, что необходимо для сохранения совместимости с предыдущими версиями ПО.

Источник: https://www.linux.org.ru