Die Utility crabz wurde veröffentlicht, die multithreaded Datenkompression und -dekompression Ă€hnlich wie das Tool pigz implementiert. Beide Utilities sind multithreaded Varianten des gzip-Programms und optimiert fĂŒr den Betrieb auf Multikernsystemen. crabz unterscheidet sich darin, dass es in der Programmiersprache Rust geschrieben ist, wĂ€hrend pigz in C (und teilweise in C++) programmiert wurde, und zeigt einen signifikanten Leistungszuwachs, der in manchen FĂ€llen bis zu 50 % erreichen kann.
Auf der Entwicklerseite gibt es einen detaillierten Vergleich der Geschwindigkeiten beider Utilities mit verschiedenen SchlĂŒsseln und verwendeten Backends. Die Messungen wurden an einer 1,5 Gigabyte groĂen CSV-Datei unter Verwendung eines Teststandes mit einem AMD Ryzen 9 3950X 16-Core-Prozessor und 64 GB DDR4-RAM unter dem Betriebssystem Ubuntu 20 durchgefĂŒhrt. FĂŒr diejenigen, die keine tiefgehende Analyse der Leistung wĂŒnschen, wurde ein kurzer Bericht vorbereitet:
- crabz mit dem zlib-Backend ist in der Leistung identisch mit pigz;
- mit dem zlib-ng-Backend ist es bis zu 1,5-mal schneller als pigz;
- crabz mit dem rust-Backend ist geringfĂŒgig (um 5-10 %) schneller als pigz.
Laut den Entwicklern bietet crabz neben einer höheren Arbeitsgeschwindigkeit im Vergleich zu pigz auch folgende Vorteile:
- crabz mit dem deflate_rust-Backend verwendet einen Code, der vollstÀndig in Rust geschrieben ist, was sicherer ist;
- crabz ist plattformunabhĂ€ngig und unterstĂŒtzt Windows, was mehr Benutzer anziehen kann;
- crabz unterstĂŒtzt mehr Formate (Gzip, Zlib, Mgzip, BGZF, Raw Deflate und Snap).
Trotz seiner vollstÀndigen FunktionalitÀt wird crabz vom Entwickler als konzeptioneller Prototyp eines CLI-Tools beschrieben, das das crate-Paket GZP nutzt.
Quelle: opennet.ru
