Uitgave van crabz 0.7, een multi-threaded compressie- en decompressiehulpprogramma geschreven in Rust

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

Voeg een reactie