Домой Софт macOS и Linux Релиз консольной утилиты lzbench 2.3

Релиз консольной утилиты lzbench 2.3

Инструмент для сравнения алгоритмов компрессии получил масштабное обновление: новые кодеки, поддержка RISC-V и оптимизация работы с памятью.

Релиз консольной утилиты lzbench 2.3
Релиз консольной утилиты lzbench 2.3 — иллюстрация к материалу. Источник: linux.org.ru

Спустя почти восемь месяцев состоялся релиз версии 2.3 консольной утилиты lzbench. Этот инструмент предназначен для сравнительного анализа производительности множества популярных алгоритмов сжатия и декомпрессии данных. Полный список поддерживаемых методов можно вывести в консоли с помощью команды lzbench -l.

Проект разработан с использованием языков C, С++, Rust и Zig. Утилита распространяется под свободной лицензией GNU GPL (версии 2 или 3 на выбор пользователя).

Основные изменения в lzbench 2.3

  • Реорганизация псевдонимов компрессоров: Группа ALL теперь объединяет категории LZ, SYMMETRIC и MISC. Кодеки BWT/PPM (bsc, bzip2, bzip3, ppmd8) были перемещены в группу SYMMETRIC, а алгоритмы Kanzi распределены по уровням между группами LZ и SYMMETRIC.
  • Новые псевдонимы: Добавлены категории FASTEST (включает только самые быстрые варианты компрессоров из ALL) и SLOW (для ресурсоемких алгоритмов, таких как glza).
  • Оптимизация CUDA: Кодеки, использующие аппаратное ускорение CUDA, теперь отключены по умолчанию. Для их сборки необходимо явно указать параметр ENABLE_CUDA=1.
  • Улучшения кодека BSC: Добавлена обработка блоков, превышающих ограничения на объем входных данных, путем их автоматического разбиения на фрагменты.
  • Поддержка платформ: Для архитектуры RISC-V добавлены флаг сборки -mno-strict-align и макрос SNAPPY_HAVE_RVV. Проведены исправления для корректной работы на x86-32 (lzham) и ARM32, а также оптимизирована обработка размеров файлов в ОС Windows.
  • Исправление ошибок: Оптимизировано выделение памяти для буфера компрессии с учетом накладных расходов, возникающих при работе с блоками разбиения кодека.

Обновление базы кодеков

В текущем выпуске список поддерживаемых алгоритмов был значительно расширен и актуализирован:

Добавленные кодеки:

  • aceapex 1.0 (C++);
  • aceapex_cuda 0.9;
  • memlz 0.2 beta (C);
  • skim 0.1.0 (Zig);
  • zxc 0.11.0 (C).

Обновленные кодеки:

  • Brotli до версии 1.2.0;
  • Bzip3 до 1.5.3;
  • Glza до 0.12;
  • Kanzi до 2.5.3;
  • Libbsc до 3.3.12;
  • Libdeflate до 1.25;
  • Lzav до 5.8;
  • Lzlib до 1.16;
  • Lzma до 26.01;
  • Ppmd8 до 26.01;
  • Quicklz до 1.5.1 beta 7;
  • Slz до 1.2.2;
  • Tamp до 2.2.4;
  • Xz до 5.8.3;
  • Zlib до 1.3.2;
  • Zlib-ng до 2.3.3.
Источник: https://www.linux.org.ru