LZ4 (сверхбыстрое сжатие)
LZ4 — сверхбыстрый алгоритм сжатия без потерь, ориентированный на скорость в ущерб степени сжатия. LZ4 обеспечивает распаковку со скоростью нескольких ГБ/с, что делает его идеальным для кэширования в памяти, файловых систем реального времени и сетевых протоколов.
MIME-тип
application/x-lz4
Тип
Бинарный
Сжатие
Без потерь
Преимущества
- + Decompression speed exceeding 4 GB/s per core
- + Very fast compression with minimal CPU overhead
- + Widely used in production systems (ZFS, Btrfs, databases)
Недостатки
- − Lower compression ratio than gzip, bzip2, or xz
- − Not suitable for archival where size minimization is key
- − Less common as a standalone file format for distribution
Когда использовать .LZ4
Используйте LZ4 для кэширования в памяти, файловых систем реального времени, сетевых протоколов с низкой задержкой и сжатия в базах данных, где скорость важнее степени сжатия.
Технические детали
LZ4 использует алгоритм LZ77 с хэш-таблицей фиксированного размера для нахождения совпадений. Формат фрейма (magic: 0x184D2204) поддерживает блоки размером 64 КБ – 4 МБ и опциональные контрольные суммы. LZ4-HC (High Compression) обеспечивает лучшее сжатие за счёт более медленного поиска совпадений, при этом скорость распаковки не меняется.
История
Ян Колле создал LZ4 в 2011 году для достижения скорости сжатия, близкой к скорости memcpy. LZ4 используется в ядре Linux (zram, файловые системы), ZFS, Apache Kafka и многочисленных базах данных.