Состоялся выпуск утилиты crabz, реализующей многопоточное сжатие и распаковку данных, аналогично подобной утилите pigz. Обе эти утилиты представляют собой многопоточные варианты программы gzip, оптимизированные для работы на многоядерных системах. Сам же crabz отличается тем, что написан на языке программирования Rust, в отличии от утилиты pigz, написанной на C (и, частично, на C++), и демонстрирует прирост производительности, в некоторых случаях достигающий 50% (при использовании альтернативного бекенда).
На странице разработчиков есть подробное сравнение скорости работы обеих утилит с различными ключами и использованными бэкендами. Замеры производились на полуторагигабайтовом csv-файле с использованием в качестве тестового стенда ПК на базе AMD Ryzen 9 3950X 16-Core Processor и с 64 GB DDR4 RAM и на операционной системе Ubuntu 20. Для тех же, кто не хочет погружаться в подробный разбор производительности, подготовлен краткий отчёт:
На странице разработчиков есть подробное сравнение скорости работы обеих утилит с различными ключами и использованными бэкендами. Замеры производились на полуторагигабайтовом csv-файле с использованием в качестве тестового стенда ПК на базе AMD Ryzen 9 3950X 16-Core Processor и с 64 GB DDR4 RAM и на операционной системе Ubuntu 20. Для тех же, кто не хочет погружаться в подробный разбор производительности, подготовлен краткий отчёт:
- crabz с использованием бэкенда zlib идентичен pigz по производительности;
- с использованием бэкенда zlib-ng до полутора раз быстрее, чем pigz;
- crabz с бэкендом rust незначительно (на 5-10%) быстрее pigz.
- crabz с бэкендом deflate_rust использует код, полностью написанный на Rust, что является более безопасным;
- crabz является кросплатформенным и поддерживает Windows, что может привлечь больше участников;
- crabz поддерживает больше форматов (Gzip, Zlib, Mgzip, BGZF, Raw Deflate и Snap).