Очень быстрый алгоритм сжатия без потерь на C с быстрым декодером и настраиваемым балансом скорости и степени сжатия.
meta/zstd
Zstandard (zstd) — быстрый алгоритм сжатия без потерь, CLI-утилита и эталонная библиотека на C.
Open source альтернатива:gzip
- Звёзды
- 28,179
- Форки
- 2,676
- Открытые issues
- 440
- Последний коммит
- позавчера
Что это?
Zstandard, или zstd, — алгоритм сжатия без потерь, рассчитанный на работу в реальном времени. Он обеспечивает степень сжатия на уровне zlib или выше и при этом работает гораздо быстрее; этап энтропийного кодирования основан на библиотеках Huff0 и FSE. Формат стандартизирован в RFC 8878, а этот репозиторий содержит эталонную реализацию.
Проект включает библиотеку на C с открытым исходным кодом (libzstd) и CLI-утилиту для создания и распаковки файлов .zst, а также обработки файлов .gz, .xz и .lz4. Скорость сжатия можно настраивать небольшими шагами в пользу степени сжатия или производительности, а скорость распаковки при разных настройках остаётся примерно постоянной. Порты и биндинги для других языков перечислены на главной странице проекта.
Для небольших данных в zstd есть режим обучения, который строит словарь по примерам файлов. Загрузка этого словаря перед сжатием и распаковкой заметно повышает степень сжатия небольших записей. Сборку можно выполнять с помощью make, CMake, Meson, Bazel, vcpkg или Conan.
Ключевые возможности
- 01Сжатие без потерь со степенью сжатия на уровне zlib или выше и большей скоростью
- 02Настройка уровня сжатия: от быстрых режимов до режимов с высокой степенью сжатия
- 03Обучение словаря для улучшения сжатия небольших данных
- 04CLI-утилита, которая также обрабатывает файлы .gz, .xz и .lz4
- 05Библиотека на C со стабильным форматом, описанным в RFC 8878
- 06Поддержка нескольких систем сборки, включая make, CMake, Meson, Bazel и vcpkg
Сценарии использования
- Сжатие больших файлов или потоков данных, когда важна скорость
- Сжатие множества небольших записей с помощью обученного общего словаря
- Встраивание быстрой библиотеки сжатия в приложения на C или C++
- Замена gzip в скриптах для повышения скорости или степени сжатия
Быстрый старт
- 1
Соберите CLI zstd и библиотеку libzstd с помощью make
make - 2
Запустите локальные дымовые тесты
make check - 3
Установите CLI, библиотеку и страницы man
make install
Что важно знать
- Проект распространяется на условиях двойной лицензии BSD или GPLv2, поэтому выбор GPLv2 влечёт за собой обязательства копилефта.
- В метаданных лицензии репозитория указано NOASSERTION, поэтому проверьте файлы LICENSE и COPYING напрямую.
В подборках
Темы
Частые вопросы
- Что такое zstd?
- Zstandard (zstd) — быстрый алгоритм сжатия без потерь, CLI-утилита и эталонная библиотека на C. Zstandard, или zstd, — алгоритм сжатия без потерь, рассчитанный на работу в реальном времени. Он обеспечивает степень сжатия на уровне zlib или выше и при этом работает гораздо быстрее; этап энтропийного кодирования основан на библиотеках Huff0 и FSE. Формат стандартизирован в RFC 8878, а этот репозиторий содержит эталонную реализацию.
- zstd можно использовать бесплатно? Какая у него лицензия?
- zstd распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- zstd всё ещё поддерживается?
- Активно поддерживается. Последний коммит в zstd — 5 нояб. 2026 г..
- Для чего можно использовать zstd?
- Сжатие больших файлов или потоков данных, когда важна скорость Сжатие множества небольших записей с помощью обученного общего словаря Встраивание быстрой библиотеки сжатия в приложения на C или C++ Замена gzip в скриптах для повышения скорости или степени сжатия
- Как установить zstd?
- Соберите CLI zstd и библиотеку libzstd с помощью make: make Запустите локальные дымовые тесты: make check Установите CLI, библиотеку и страницы man: make install
- Где скачать zstd?
- Исходный код и инструкции по установке — на GitHub: https://github.com/meta/zstd
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Многопоточный оптимизатор PNG и APNG без потери качества на Rust, доступный как CLI-инструмент и библиотека Rust.
Консольный CLI для сжатия, распаковки и просмотра архивов множества форматов с определением формата по расширению файла.
Инструмент для создания изолированных виртуальных окружений Python, чтобы у каждого проекта был собственный набор пакетов.
Программа для резервного копирования с дедупликацией, опциональным сжатием и аутентифицированным шифрованием, которая хранит только изменившиеся фрагменты данных.
Кроссплатформенный GUI для FFmpeg, позволяющий без перекодирования вырезать и обрезать видео- и аудиофайлы, а также выполнять их ремультиплексирование.