OpenZL 0.1.0

good-penguin.png

6 октября состоялся выпуск 0.1.0 фреймворка OpenZL, предназначенного для создания компрессоров данных без потерь.

В проект также входит демонстрационная консольная утилита zli.

Ян Колле (автор Zstandard) написал на форуме encode.su:

Мы открываем исходный код OpenZL — нового подхода к сжатию данных с акцентом на структурированные данные. В большинстве центров обработки данных имеются огромные потоки данных. Однако эти данные редко бывают «случайными» — как правило, они следуют чётко определенной схеме или формату. Обычно с этими форматами знакомы несколько инженеров.

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

Насколько лучше?

Улучшение существенное — часто двузначное процентное увеличение, а иногда и больше. Важно, что эти улучшения достигаются без значительного влияния на скорость, что крайне важно для высокопроизводительных конвейеров данных.

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

Фреймворк состоит из базовой библиотеки и инструментов для создания специализированных компрессоров, описанных на языке SDDL.
Для создания хорошего специализированного компрессора есть два этапа:

  1. Анализ данных для извлечения структуры.
  2. Использование хороших бэкенд-компрессоров, которые используют полученную структуру для достижения хорошего сжатия.

OpenZL предоставляет инструменты для обоих этапов.

Проект написан на языках C и C++ и распространяется по лицензии BSD.

В других источниках:

>>> Исходный код на GitHub

>>> Анонс на encode.su

©  Linux.org.ru