Repolode
lz4

lz4/lz4

Очень быстрый алгоритм сжатия без потерь на C с быстрым декодером и настраиваемым балансом скорости и степени сжатия.

Звёзды
12,611
Форки
1,642
Открытые issues
7
Последний коммит
23 часа назад

Что это?

LZ4 — алгоритм сжатия без потерь, написанный на C. В режиме по умолчанию он сжимает данные со скоростью более 500 MB/s на ядро и масштабируется на несколько ядер. Скорость распаковки достигает нескольких GB/s на ядро; в многопроцессорных системах её обычно ограничивает пропускная способность RAM.

Скорость сжатия можно настраивать с помощью коэффициента ускорения, жертвуя степенью сжатия ради скорости. Вариант LZ4_HC тратит больше времени CPU, чтобы добиться лучшей степени сжатия; скорость распаковки у всех вариантов одинакова. Проект также поддерживает сжатие со словарём через API и инструмент командной строки lz4, что помогает при работе с небольшими файлами.

В проекте есть block API, API для сжатия с высокой степенью сжатия и frame API для потоков; форматы block и frame задокументированы. Для сборки доступны стандартный Makefile, CMake, Meson, файлы Visual Studio и установка через vcpkg.

Ключевые возможности

  • 01Сжатие со скоростью более 500 MB/s на ядро с масштабированием на несколько ядер
  • 02Распаковка со скоростью нескольких GB/s на ядро
  • 03Настраиваемый коэффициент ускорения для баланса между степенью сжатия и скоростью
  • 04Режим LZ4_HC для достижения более высокой степени сжатия
  • 05Сжатие со словарём через API и CLI lz4

Сценарии использования

  • Сжатие данных в реальном времени, когда важно свести к минимуму нагрузку на CPU
  • Ускорение хранения или передачи больших наборов данных, когда важна скорость распаковки
  • Сжатие небольших файлов с помощью общего словаря
  • Встраивание быстрого компрессора в приложения на C или C++

Быстрый старт

  1. 1

    Соберите проект из каталога с исходным кодом

    make
  2. 2

    Установите собранные бинарные файлы и библиотеку

    make install

Что важно знать

  • Утилита командной строки lz4 распространяется по лицензии GPL-2.0-or-later, а библиотека — по лицензии BSD 2-Clause.
  • Метаданные лицензии проекта неясны, поэтому перед использованием проверьте файлы лицензии.

В подборках

Темы

Частые вопросы

Что такое lz4?
Очень быстрый алгоритм сжатия без потерь на C с быстрым декодером и настраиваемым балансом скорости и степени сжатия. LZ4 — алгоритм сжатия без потерь, написанный на C. В режиме по умолчанию он сжимает данные со скоростью более 500 MB/s на ядро и масштабируется на несколько ядер. Скорость распаковки достигает нескольких GB/s на ядро; в многопроцессорных системах её обычно ограничивает пропускная способность RAM.
lz4 можно использовать бесплатно? Какая у него лицензия?
lz4 распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
lz4 всё ещё поддерживается?
Активно поддерживается. Последний коммит в lz4 — 6 нояб. 2026 г..
Для чего можно использовать lz4?
Сжатие данных в реальном времени, когда важно свести к минимуму нагрузку на CPU Ускорение хранения или передачи больших наборов данных, когда важна скорость распаковки Сжатие небольших файлов с помощью общего словаря Встраивание быстрого компрессора в приложения на C или C++
Как установить lz4?
Соберите проект из каталога с исходным кодом: make Установите собранные бинарные файлы и библиотеку: make install
Где скачать lz4?
Исходный код и инструкции по установке — на GitHub: https://github.com/lz4/lz4

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Быстрая конкурентная библиотека кеширования для Go с ограничением по памяти, вытеснением по стоимости и допуском записей с помощью TinyLFU.

7 тыс.+2 за неделю464GoApache-2.0Обновлён 2 месяца назад

Программа для резервного копирования с дедупликацией, опциональным сжатием и аутентифицированным шифрованием, которая хранит только изменившиеся фрагменты данных.

13,9 тыс.+16 за неделю884PythonOtherОбновлён позавчера