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

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

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

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

©  OpenNet