Самый быстрый алгоритм декомпрессии в реальном времени - PullRequest
11 голосов
/ 19 марта 2010

Я ищу алгоритм для распаковки кусков данных (1k-30k) в режиме реального времени с минимальными издержками. Сжатие должно быть быстрым, но не таким важным, как скорость распаковки.

Из того, что я мог собрать, LZO1X был бы самым быстрым. Я что-то пропустил? В идеале алгоритм не подпадает под GPL.

Ответы [ 3 ]

5 голосов
/ 01 марта 2018

lz4 - это то, что вы ищете здесь.

LZ4 - алгоритм сжатия без потерь, обеспечивающий скорость сжатия при 400 МБ / с на ядро, масштабируемый с многоядерным процессором. Он имеет чрезвычайно быстрый декодер со скоростью в несколько ГБ / с на ядро, обычно достигают ограничения скорости ОЗУ в многоядерных системах.

4 голосов
/ 27 февраля 2013

Попробуйте Google Snappy .

Snappy - это библиотека сжатия / распаковки.Он не нацелен на максимальное сжатие или совместимость с любой другой библиотекой сжатия;вместо этого он стремится к очень высоким скоростям и разумному сжатию.Например, по сравнению с самым быстрым режимом zlib, Snappy на порядок быстрее для большинства входных данных, но в результате сжатые файлы имеют размер от 20% до 100% больше.На одном ядре процессора Core i7 в 64-разрядном режиме Snappy сжимает со скоростью около 250 МБ / с или более и распаковывает со скоростью около 500 МБ / с или более.

0 голосов
/ 19 марта 2010

Если вы не можете использовать лицензионный код GPL, ваш выбор очевиден - zlib . Очень разрешительная лицензия, быстрое сжатие, справедливая степень сжатия, очень быстрая распаковка, работает везде и портирована на любой вменяемый язык.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...