← На главную

Trifecta Tech выпустила libzstd-rs-sys: Rust-реализация zstd быстрее gzip

01.06.2026 13:10 · hackernews

Trifecta Tech Foundation выпустила первую версию libzstd-rs-sys — чистую реализацию zstd на Rust. Это третий их проект по сжатию после портов zlib и bzip2.

Zstd — формат сжатия, заточенный под современные CPU. Он сильно быстрее gzip и упаковывает данные плотнее. Постепенно заменяет gzip в веб-трафике.

Зачем новый код, если есть крейт zstd? Главная причина — портативность. Существующий крейт компилирует C-код, а значит, требует C-тулчейна под целевую платформу. На Windows или WebAssembly с этим бывают проблемы. Чистый Rust всё решает. Вторая — возможность скомпилировать библиотеку как замену эталонной C-реализации. Третья — независимость от Meta: эталонный zstd требует подписания контракта с компанией для внесения изменений. Trifecta считает, что независимая совместимая реализация укрепляет open-source экосистему.

Исходный код перевели инструментом c2rust, затем вручную вычистили декомпрессию и сборщик словарей. Код проверяют тестами эталонной реализации, фаззингом и Miri. В процессе нашли несколько ограничений Miri, которые уже исправили, и сделали вклад в Clippy.

По умолчанию их декомпрессия на пару процентов медленнее C-версии. Но есть флаг unsafe-performance-experimental, который отключает четыре проверки границ массивов. С ним производительность сравнивается с C. Разработчики считают потерю в ~3% приемлемой ценой за безопасность памяти. Кто готов рискнуть — может включить флаг и получить максимальную скорость.

Сжатие пока не допилили — ищут финансирование. С остальными задачами поможет Milestone 4: Encoder implementation. Уже есть форк крейта zstd, использующий libzstd-rs-sys вместо C-библиотеки. Его планируют залить в апстрим, но с экспериментальными API есть нюансы из-за различий в enum и struct.

Работу над декомпрессией профинансировали Chainguard, Astral и NLnet Foundation. Словарь построила Sovereign Tech Agency. Сама Trifecta Tech Foundation — некоммерческая организация, делает open-source «строительные блоки» для критической инфраструктуры.

Читать оригинал →