Что такое lzo и lzf, и различия?

Привет, я слышал о lzo и lzf и, кажется, они все алгоритмы сжатия. Это одно и то же? Существуют ли какие-либо другие алгоритмы, подобные им(легкие и быстрые)?

4 ответов


lzo и lzf-2 известных очень простых алгоритма сжатия. лзф идет для низкого использования памяти во время сжатия. lzo идет на максимальную скорость декодирования. Оба быстры, оба имеют небольшие требования к памяти, оба имеют сопоставимые скорости сжатия (что означает очень плохое).

вы можете посмотреть на прямое сравнение с другими компрессорами, вот например : http://phantasie.tonempire.net/t96-compression-benchmark#149


существуют ли другие алгоритмы, подобные им(легкие и быстрые)?

появилась формате LZ4 и Google быстро. Согласно бенчмаркам, опубликованным автором LZ4 на главной странице проекта и разработчиками Hadoop по вопросу HADOOP-7657, формате LZ4, кажется, самый быстрый из всех.


Splittable LZ4 и ZSTD для hadoop, недавно родившегося, но многообещающего ->https://github.com/carlomedas/4mc


оба являются базовыми компрессорами Lempel-Ziv, что позволяет быстро работать (поскольку нет второго этапа кодирования с использованием huffman (как gzip/zip) или статистического кодера) с умеренным сжатием.

одним из ориентиров для сравнения кодеков на java является jvm-компрессор-бенчмарк. LZO еще не включен, но pure Java LZF имеет отличную производительность (esp. скорость сжатия), и я предполагаю, что LZO тоже может хорошо работать, если для этого есть драйвер.

другой Алгоритм на основе LZ является быстрым Google, а его собственный кодек-самый быстрый кодек при декомпрессии (и сжатие так же быстро, как сжатие lzf pure-java).