Wydano narzędzie crabz, które implementuje wielowątkową kompresję i dekompresję danych, podobnie jak podobne narzędzie pigz. Obydwa te narzędzia to wielowątkowe wersje programu gzip, zoptymalizowane do działania w systemach wielordzeniowych. Sam Crabz różni się tym, że jest napisany w języku programowania Rust, w przeciwieństwie do narzędzia pigz napisanego w C (i częściowo w C++) i wykazuje znaczny wzrost wydajności, w niektórych przypadkach sięgający 50%.
Na stronie programistów znajduje się szczegółowe porównanie szybkości obu narzędzi przy użyciu różnych kluczy i zastosowanych backendów. Pomiarów dokonano na półtora gigabajtowym pliku csv przy użyciu komputera PC z 9-rdzeniowym procesorem AMD Ryzen 3950 16X z 64 GB pamięci RAM DDR4 i systemem operacyjnym Ubuntu 20. Dla tych, którzy nie chcą nurkować w szczegółową analizę wyników, Przygotowano krótki raport:
- crabz korzystający z backendu zlib ma identyczną wydajność jak pigz;
- korzystanie z backendu zlib-ng nawet półtora razy szybciej niż pigz;
- crabz z zapleczem rdzy jest nieco (5-10%) szybszy niż pigz.
Według twórców, oprócz większej prędkości, crabz w porównaniu z pigz ma również następujące zalety:
- crabz z backendem deflate_rust używa kodu w całości napisanego w Rust, co jest bezpieczniejsze;
- crabz jest wieloplatformowy i obsługuje system Windows, co może przyciągnąć więcej uczestników;
- crabz obsługuje więcej formatów (Gzip, Zlib, Mgzip, BGZF, Raw Deflate i Snap).
Choć w pełni funkcjonalny, crabz jest opisywany przez twórcę jako koncepcyjny prototyp narzędzia CLI wykorzystującego pakiet skrzyni GZP.
Źródło: opennet.ru