Het crabz-hulpprogramma is uitgebracht, dat multi-threaded datacompressie en -decompressie implementeert, vergelijkbaar met het vergelijkbare pigz-hulpprogramma. Beide hulpprogramma's zijn multi-threaded versies van gzip, geoptimaliseerd voor gebruik op multi-core systemen. Crabz zelf verschilt doordat het is geschreven in de Rust-programmeertaal, in tegenstelling tot het pigz-hulpprogramma, geschreven in C (en gedeeltelijk in C++), en een aanzienlijke prestatieverbetering laat zien, die in sommige gevallen zelfs 50% kan bereiken.
Op de ontwikkelaarspagina staat een gedetailleerde vergelijking van de snelheid van beide hulpprogramma's met verschillende gebruikte sleutels en backends. Er zijn metingen gedaan aan een csv-bestand van anderhalve gigabyte met behulp van een pc gebaseerd op een AMD Ryzen 9 3950X 16-core processor met 64 GB DDR4 RAM en het Ubuntu 20 besturingssysteem als testbank. in een gedetailleerde analyse van de prestaties. Er is een kort rapport opgesteld:
- crabz die de zlib-backend gebruikt, is qua prestaties identiek aan pigz;
- het gebruik van de zlib-ng-backend tot anderhalf keer sneller dan pigz;
- crabz met de roest-backend is iets (5-10%) sneller dan pigz.
Volgens de ontwikkelaars heeft crabz, naast een 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 platformonafhankelijk en ondersteunt Windows, wat meer deelnemers kan aantrekken;
- crabz ondersteunt meer formaten (Gzip, Zlib, Mgzip, BGZF, Raw Deflate en Snap).
Hoewel volledig functioneel, wordt crabz door de ontwikkelaar beschreven als een conceptueel prototype van een CLI-tool die het GZP-kratpakket gebruikt.
Bron: opennet.ru