De tool crabz is uitgekomen, die meerthreaded gegevenscompressie en -decompressie uitvoert, vergelijkbaar met de vergelijkbare tool pigz. Beide tools zijn meerthreaded varianten van het gzip-programma, geoptimaliseerd voor multi-core systemen. Crabz is echter geschreven in de programmeertaal Rust, in tegenstelling tot pigz, dat in C (en gedeeltelijk in C++) is geschreven, en vertoont een significante prestatieverbetering, in sommige gevallen tot 50%.
Op de ontwikkelaarspagina is er een gedetailleerde vergelijking van de snelheid van beide tools met verschillende parameters en gebruikte backends. Metingen zijn uitgevoerd op een vijftien-gigabyte csv-bestand, met als testopstelling een pc op basis van een AMD Ryzen 9 3950X 16-Core Processor met 64 GB DDR4 RAM en met het besturingssysteem Ubuntu 20. Voor degenen die niet in de details van de prestaties willen duiken, is er een kort rapport voorbereid:
- Crabz met de zlib backend is qua prestaties identiek aan pigz;
- Met de zlib-ng backend tot anderhalve keer sneller dan pigz;
- Crabz met de rust backend is marginaal (5-10%) sneller dan pigz.
Volgens de ontwikkelaars heeft crabz, naast de hogere snelheid, in vergelijking met pigz ook de volgende voordelen:
- Crabz met de deflate_rust backend gebruikt code die volledig in Rust is geschreven, wat veiliger is;
- Crabz is multiplatform en ondersteunt Windows, wat meer deelnemers kan aantrekken;
- Crabz ondersteunt meer formaten (Gzip, Zlib, Mgzip, BGZF, Raw Deflate en Snap).
Ondanks de volledige functionaliteit, wordt crabz door de ontwikkelaar gekarakteriseerd als een conceptueel prototype van een CLI-tool die gebruik maakt van de crate-pakket GZP.
Bron: opennet.ru
