Компания Apple открыла реализацию алгоритма сжатия без потерь LZFSE

Компания Apple перевела в разряд открытых проектов реализацию алгоритма сжатия данных без потерь LZFSE, появившегося в прошлом году составе выпусков OS X 10.11 El Capitan и iOS 9. Код библиотеки с реализацией алгоритма LZFSE написан на языке Си и распространяется под лицензией BSD. Поддерживается сборка в OS X и Linux.

LZFSE является вариантом алгоритма Лемпеля-Зива, использующим метод кодирования конечного состояния энтропии (Finite State Entropy), основанного на идеях применения теории асимметричных численных систем (Asymmetric Numeral Systems) для кодирования энтропии. По сравнению с поставляемой в библиотеке zlib реализацией алгоритма Deflate (ZLIB level 5), LZFSE позволяет добиться в 2-3 раза более высокой скорости кодирования и декодирования, при сохранении близкой степени сжатия.

Алгоритм LZFSE позиционируется как компромиссное решение для ситуаций, в которых важна как скорость, кодирования/декодирования, так и степень сжатия. Для решений в которых первостепенное значение имеет скорость, но не важна степень сжатия, Apple продолжает рекомендовать LZ4, а для ситуаций в которых главное уровень сжатия, но не важна скорость — LZMA. В Apple SDK алгоритм LZFSE был рекомендован в качестве замены zlib для случаев, когда не требуется создания переносимых решений. Открытие реализации LZFSE создаёт условия для расширения области применения данного алгоритма.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.