Utgivelse av crabz 0.7, et flertråds komprimerings- og dekompresjonsverktøy skrevet i Rust

Crabz-verktøyet ble utgitt, som implementerer multi-threaded datakomprimering og dekompresjon, lik det lignende pigz-verktøyet. Begge disse verktøyene er flertrådede versjoner av gzip, optimalisert for å kjøre på flerkjernesystemer. Crabz selv skiller seg ved at den er skrevet i Rust-programmeringsspråket, i motsetning til pigz-verktøyet, skrevet i C (og delvis i C++), og viser en betydelig ytelsesøkning, i noen tilfeller når den 50%.

På utviklernes side er det en detaljert sammenligning av hastigheten til begge verktøyene med forskjellige nøkler og backends som brukes. Målinger ble foretatt på en halvannen gigabyte csv-fil ved bruk av en PC basert på en AMD Ryzen 9 3950X 16-kjerneprosessor med 64 GB DDR4 RAM og operativsystemet Ubuntu 20 som testbenk. For de som ikke vil dykke inn i en detaljert analyse av ytelsen, er det utarbeidet en kort rapport:

  • crabz som bruker zlib-backend er identisk i ytelse til pigz;
  • bruke zlib-ng-backend opptil halvannen ganger raskere enn pigz;
  • crabz med rustbackend er litt (5-10%) raskere enn pigz.

I følge utviklerne, i tillegg til høyere hastighet, har crabz, sammenlignet med pigz, også følgende fordeler:

  • crabz med deflate_rust-backend bruker kode helt skrevet i Rust, som er sikrere;
  • crabz er på tvers av plattformer og støtter Windows, som kan tiltrekke seg flere deltakere;
  • crabz støtter flere formater (Gzip, Zlib, Mgzip, BGZF, Raw Deflate og Snap).

Selv om det er fullt funksjonelt, beskrives crabz av utvikleren som en konseptuell prototype av et CLI-verktøy som bruker GZP-kassepakken.

Kilde: opennet.ru

Legg til en kommentar