
18 июня состоялся релиз версии 0.12.0 библиотеки и одноименной кроссплатформенной консольной утилиты ZXC, работа над которой велась более месяца. Инструмент предназначен для высокопроизводительного многопоточного асимметричного сжатия данных без потерь и оптимизирован для использования с игровыми ресурсами, прошивками и пакетами приложений. Разработчики придерживаются принципа «один раз записать, многократно читать» (WORM).
В отличие от распространенного кодека LZ4, библиотека ZXC отдает приоритет максимальной скорости распаковки в ущерб скорости сжатия. По заявлению создателей, производительность при декомпрессии утилиты на 10–47% выше, чем у LZ4 (при стандартных настройках), при этом коэффициент сжатия оказывается равным или превосходящим показатели аналога.
Ключевым нововведением релиза стала поддержка сжатия с использованием предварительно обученного словаря, построенного на основе репрезентативных образцов данных. Это решение существенно сокращает размер архивов, содержащих большое количество мелких файлов или данных небольшого размера. Формат контейнера был обновлен до версии v6, а SOVERSION библиотеки увеличена с 3 до 4. Проект реализован на языке программирования C и распространяется по лицензии BSD 3.
Ключевые изменения и улучшения
- Внедрена поддержка компрессии с предварительно обученным словарем и общей таблицей Хаффмана.
- Обновления консольной утилиты:
- Добавлен параметр
--trainдля обучения словаря на основе входных файлов (путь к результату задается через-o; по умолчанию —dictionary_.zxd). Новая опция пришла на смену--train-dict PATH. - Реализован флаг
-D, --dict FILEдля сжатия или распаковки с использованием указанного файла словаря. - Добавлена возможность просмотра содержимого архива или информации о словаре
.zxdчерез параметр-l, --list. - Появился псевдоним
unzxc: он устанавливается как символьная ссылка наzxcи по умолчанию активирует режим распаковки (аналог командыzxc -d).
- Добавлен параметр
- Скорость сжатия на 6-м уровне возросла примерно на 10% по сравнению с версией 0.11.0.
- Производительность декомпрессии на уровнях 1 и 2 увеличилась примерно на 3%.
- Проведен ряд оптимизаций и исправлений ошибок.






