Vydanie crabz 0.7, viacvláknového komprimačného a dekompresného nástroja napísaného v Ruste

Bola uvoľnená utilita crabz, ktorá implementuje viacvláknovú kompresiu a dekompresiu dát, podobne ako podobná utilita pigz. Obidva tieto nástroje sú viacvláknové verzie gzip, optimalizované na spustenie na viacjadrových systémoch. Samotný Crabz sa líši v tom, že je napísaný v programovacom jazyku Rust, na rozdiel od utility pigz, napísaný v C (a čiastočne aj v C++) a vykazuje výrazné zvýšenie výkonu, v niektorých prípadoch až 50%.

Na stránke vývojárov je podrobné porovnanie rýchlosti oboch utilít s rôznymi použitými kľúčmi a backendmi. Merania boli uskutočnené na jeden a pol gigabajtovom csv súbore pomocou PC založeného na 9-jadrovom procesore AMD Ryzen 3950 16X so 64 GB DDR4 RAM a operačným systémom Ubuntu 20 ako testovacej stolici. Pre tých, ktorí sa nechcú potápať do podrobnej analýzy výkonnosti, bola pripravená krátka správa:

  • crabz využívajúci backend zlib je z hľadiska výkonu identický s pigz;
  • používanie backendu zlib-ng až jedenapolkrát rýchlejšie ako pigz;
  • crabz s hrdzavým backendom je o niečo (5-10%) rýchlejší ako pigz.

Podľa vývojárov má crabz v porovnaní s pigz okrem vyššej rýchlosti aj tieto výhody:

  • crabz s backendom deflate_rust používa kód úplne napísaný v Ruste, ktorý je bezpečnejší;
  • crabz je multiplatformový a podporuje Windows, čo môže prilákať viac účastníkov;
  • crabz podporuje viac formátov (Gzip, Zlib, Mgzip, BGZF, Raw Deflate a Snap).

Hoci je crabz plne funkčný, vývojár ho popisuje ako koncepčný prototyp nástroja CLI využívajúci balík prepraviek GZP.

Zdroj: opennet.ru

Pridať komentár