Новое сжатие Brotli от Google на 25% лучше


В наши дни сжатие менее важно для хранилища, но по-прежнему является ценным способом экономии полосы пропускания. В прошлом Google предлагал улучшенные алгоритмы сжатия, а теперь у нас есть Brotli, который утверждает, что он даже лучше.

В отличие от первого алгоритма сжатия Google, Zopfli, Brotli не совместим с Deflate, но также назван в честь швейцарской выпечки. Brotli означает «маленький хлеб» на швейцарском немецком языке, что почти уместно.

Brotli является предметом интернет-проекта, и его исходный код открыт под лицензией Apache License 2. В нем используется новый формат файла, а это означает, что инструменты, необходимые для его кодирования и декодирования, также являются новыми – в нем нет ничего обратно совместимого. .

Технически Brotli представляет собой модификацию стандартного алгоритма LZ77 и кодирования Хаффмана. Процитирую объявление:

«Более высокая плотность данных достигается за счет контекстного моделирования 2-го порядка, повторного использования энтропийных кодов, большего окна памяти прошлых данных и совместных кодов распределения».

Он также использует статический словарь из 13504 элементов из английского, испанского, китайского, хинди, русского, арабского языков, а также из HTML и JavaScript. Это в сочетании с преобразованиями, которые изменяют слова в словаре, позволяет отображать 1633984 последовательности.

В тестах он показал хорошие результаты по степени сжатия и скорости декомпрессии:

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

Вы наверняка встретите Brotli в будущем, потому что он уже является частью версии 2 формата Web Open Font Format.

Brotli доступен для игры на его сайте GitHub.


Добавить комментарий