LZO

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Erelen~ruwiki (обсуждение | вклад) в 16:40, 26 октября 2016 (Ссылки: Устаревшая ссылка). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

LZO это алгоритм сжатия данных, разработанный для достижения максимальной скорости распаковки. LZO — это аббревиатура от фамилий разработчиков: Lempel-Ziv-Oberhumer (Лемпель-Зив-Оберхеймер). Это алгоритм сжатия без потерь и его базовая реализация может работать в многопоточной среде.

Свободной программой, реализующей LZO, является lzop. Исходная библиотека была написана на ANSI C и доступна под лицензией GPL. Также существуют реализации LZO на языках Ассемблер (x86), Perl, Python, Java и .NET. Код написан Маркусом Оберхеймером (Markus F. X. J. Oberhumer)

LZO-библиотека реализует несколько алгоритмов, со следующими особенностями:

  • Распаковка простая и очень быстрая.
  • Для декомпрессии не требуется дополнительной памяти помимо буферов для сжатых и распаковываемых данных.
  • Сжатие также очень быстрое.
  • На сжатие требуется 64 кб памяти
  • Можно достичь дополнительного сжатия, потратив несколько больше времени при сжатии. При этом скорость декомпрессии не уменьшается.
  • Существует несколько уровней сжатия (с разными требования по скорости).
  • В частности реализован вариант алгоритма, которому требуется всего 8 кб памяти для сжатия.
  • Алгоритм безопасно применять в многопоточной среде.
  • Алгоритм сжимает без потерь

См. также

Ссылки