Die Veröffentlichung des Dienstprogramms crabz, das die Multithread-Komprimierung und -Dekomprimierung von Daten implementiert, ähnelt der des Dienstprogramms pigz. Bei beiden Dienstprogrammen handelt es sich um Multithread-Versionen des gzip-Programms, die für Multicore-Systeme optimiert sind. Crabz selbst unterscheidet sich dadurch, dass es im Gegensatz zum in C (und teilweise in C++) geschriebenen Dienstprogramm pigz in der Programmiersprache Rust geschrieben ist und eine deutliche Leistungssteigerung aufweist, die in einigen Fällen 50 % erreicht.
Die Entwicklerseite bietet einen detaillierten Geschwindigkeitsvergleich beider Programme mit verschiedenen Schlüsseln und Backends. Die Messungen wurden mit einer 1,5 Gigabyte großen CSV-Datei auf einem Testsystem mit einem AMD Ryzen 9 3950X 16-Kern-Prozessor und 64 GB DDR4-RAM unter dem Betriebssystem durchgeführt. Ubuntu 20. Für diejenigen, die keine detaillierte Leistungsanalyse vornehmen möchten, wurde ein Kurzbericht erstellt:
- crabz, das das zlib-Backend verwendet, ist hinsichtlich der Leistung identisch mit pigz;
- Verwendung des Zlib-NG-Backends bis zu XNUMX-mal schneller als Pigz;
- Crabz mit Rust-Backend ist geringfügig (5-10 %) schneller als Pigz.
Laut den Entwicklern bietet Crabz im Vergleich zu Pigz neben einer höheren Geschwindigkeit auch folgende Vorteile:
- crabz mit einem deflate_rust-Backend verwendet vollständig in Rust geschriebenen Code, der sicherer ist;
- Crabz ist plattformübergreifend und unterstützt Windowswodurch mehr Teilnehmer angezogen werden können;
- crabz unterstützt weitere Formate (Gzip, Zlib, Mgzip, BGZF, Raw Deflate und Snap).
Obwohl voll funktionsfähig, wird crabz vom Entwickler als konzeptioneller Prototyp eines CLI-Tools beschrieben, das das GZP-Crate-Paket verwendet.
Source: opennet.ru
