Udgivelse af crabz 0.7, et multi-threaded komprimerings- og dekompressionsværktøj skrevet i Rust

Crabz-værktøjet blev frigivet, som implementerer multi-threaded datakomprimering og dekompression, svarende til det lignende pigz-værktøj. Begge disse værktøjer er multi-threaded versioner af gzip, optimeret til at køre på multi-core systemer. Crabz selv adskiller sig ved, at det er skrevet i Rust-programmeringssproget, i modsætning til pigz-værktøjet, skrevet i C (og delvist i C++), og demonstrerer en betydelig ydelsesforøgelse, som i nogle tilfælde når 50%.

På udviklerens side er der en detaljeret sammenligning af hastigheden af ​​begge hjælpeprogrammer med forskellige nøgler og backends brugt. Målinger blev foretaget på en halvanden gigabyte csv-fil ved hjælp af en pc baseret på en AMD Ryzen 9 3950X 16-core processor med 64 GB DDR4 RAM og Ubuntu 20 styresystemet som testbænk. For dem, der ikke ønsker at dykke til en detaljeret analyse af ydeevnen er der udarbejdet en kort rapport:

  • crabz ved hjælp af zlib-backend er identisk i ydeevne til pigz;
  • brug af zlib-ng-backend op til halvanden gang hurtigere end pigz;
  • crabz med rust backend er lidt (5-10%) hurtigere end pigz.

Ifølge udviklerne har crabz, ud over højere hastighed, i sammenligning med pigz også følgende fordele:

  • crabz med deflate_rust-backend bruger kode, der er skrevet helt i Rust, hvilket er mere sikkert;
  • crabz er cross-platform og understøtter Windows, som kan tiltrække flere deltagere;
  • crabz understøtter flere formater (Gzip, Zlib, Mgzip, BGZF, Raw Deflate og Snap).

Selvom det er fuldt funktionelt, beskrives crabz af udvikleren som en konceptuel prototype af et CLI-værktøj, der bruger GZP-kassepakken.

Kilde: opennet.ru

Tilføj en kommentar