LZO

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Xqbot (обсуждение | вклад) в 19:52, 25 марта 2010 (робот изменил: en:Lempel–Ziv–Oberhumer). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

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

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

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

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

См. также

Ссылки