Vydání crabz 0.7, vícevláknového komprimačního a dekompresního nástroje napsaného v Rustu

Byla vydána utilita crabz, která implementuje vícevláknovou kompresi a dekompresi dat, podobně jako podobná utilita pigz. Oba tyto nástroje jsou vícevláknové verze gzip, optimalizované pro běh na vícejádrových systémech. Samotný Crabz se liší tím, že je na rozdíl od utility pigz napsaný v C (a částečně i v C++) napsán v programovacím jazyce Rust a vykazuje výrazný nárůst výkonu, v některých případech dosahující až 50 %.

Na stránce vývojářů je podrobné srovnání rychlosti obou utilit s různými použitými klíči a backendy. Měření byla provedena na jeden a půl gigabajtovém csv souboru pomocí PC založeného na 9jádrovém procesoru AMD Ryzen 3950 16X s 64 GB DDR4 RAM a operačním systémem Ubuntu 20 jako testovací stolicí. Pro ty, kteří se nechtějí potápět do podrobné analýzy výkonu, byla připravena krátká zpráva:

  • crabz využívající backend zlib je výkonově identický s pigz;
  • použití backendu zlib-ng až jedenapůlkrát rychlejší než pigz;
  • crabz s rust backendem je o něco (5-10%) rychlejší než pigz.

Podle vývojářů má crabz ve srovnání s pigz kromě vyšší rychlosti také následující výhody:

  • crabz s backendem deflate_rust používá kód zcela napsaný v Rustu, který je bezpečnější;
  • crabz je multiplatformní a podporuje Windows, což může přilákat více účastníků;
  • crabz podporuje více formátů (Gzip, Zlib, Mgzip, BGZF, Raw Deflate a Snap).

Přestože je crabz plně funkční, je vývojářem popsán jako koncepční prototyp nástroje CLI využívající balík přepravek GZP.

Zdroj: opennet.ru

Přidat komentář