LZ4 (алгоритм сжатия)
-
Обзор алгоритма LZ4
- LZ4 — это алгоритм сжатия без потерь, ориентированный на скорость сжатия и распаковки.
- Он относится к семейству LZ77 и имеет меньшую степень сжатия по сравнению с LZO, но более высокую скорость сжатия и декомпрессии.
-
Особенности и дизайн
- LZ4 использует только этап сопоставления по словарю, не объединяя его с энтропийным кодированием.
- Алгоритм представляет данные в виде последовательностей с токенами, указывающими количество копируемых байтов.
- Строки литералов следуют за токенами и дополнительными байтами, указывающими длину строки.
- Сжатие может осуществляться потоком или блоками, и более высокая степень сжатия достигается за счет поиска оптимальных сочетаний.
-
Реализация и использование
- Существует эталонная реализация на C с лицензией BSD, а также порты и привязки для разных языков.
- Apache Hadoop использует LZ4 для быстрого сжатия, а ядро Linux версии 3.11 и файловые системы ZFS поддерживают алгоритм.
- LZ4 доступен в расширенной версии 7zip и поддерживается в утилите командной строки zstd.
-
Рекомендации
- Для получения дополнительной информации рекомендуется посетить официальный веб-сайт.
Полный текст статьи: