Релиз открытого универсального алгоритма сжатия без потерь Brotli 1.2

В конце октября 2025 года вышла версия открытого проекта Brotli 1.2 от команды Google. Это универсальный алгоритм сжатия без потерь. Предыдущий стабильный релиз решения состоялся в августе 2023 года. Исходный код проекта написан на TypeScript и C и опубликован на GitHub под лицензией MIT.

Brotli сжимает данные с помощью комбинации современного варианта алгоритма LZ77, кодирования Хаффмана и моделирования контекста второго порядка, с коэффициентом сжатия, сопоставимым с лучшими из доступных в настоящее время универсальных методов сжатия. По скорости решение схоже с deflate, но обеспечивает более плотное сжатие. Спецификация формата Brotli определена в RFC 7932. Также в рамках проекта предоставляются биндинги для C#, Go, Java, JavaScript и Python.

Основные изменения и дополнения в Brotli 1.2:

в кодер и декодер добавлена статическая инициализация для уменьшения размера двоичного файла;

увеличена скорость кодирования;

в кодере и декодере статические таблицы используют «малую» модель, что позволяет использовать двоичные файлы размером более 2 ГБ;

в консольном псевдониме brcat разрешено декодирование сцепленных потоков brotli;

cgo: поддержка «сырых» словарей;

cgo: линковка через pkg‑config;

Java: декодер на Kotlin;

Java: удалена finalize() для нативных сущностей;

Java: исправлена передача неправильной длины в нативный кодер при сжатии;

Python: добавлен метод Decompressor::can_accept_more_data и опциональный аргумент output_buffer_limit Decompressor::process, что позволяет смягчить последствия неожиданно большого вывода;

Python: разрешено ограничение вывода декодера;

Python: разрешена многоэтапная инициализация модулей;

улучшена инсталляция страниц man;

различные улучшения для системы сборки Bazel.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии