Vrystelling van crabz 0.7, 'n multi-threaded kompressie en dekompressie nut geskryf in Rust

Die crabz-nutsding is vrygestel, wat multi-threaded data-kompressie en -dekompressie implementeer, soortgelyk aan die soortgelyke pigz-nutsprogram. Albei hierdie nutsprogramme is multi-threaded weergawes van gzip, geoptimaliseer om te loop op multi-kern stelsels. Crabz self verskil deurdat dit in die Rust-programmeertaal geskryf is, anders as die pigz-nutsprogram, geskryf in C (en gedeeltelik in C++), en toon 'n aansienlike prestasieverhoging, in sommige gevalle tot 50%.

Op die ontwikkelaarsbladsy is daar 'n gedetailleerde vergelyking van die spoed van beide nutsprogramme met verskillende sleutels en backends wat gebruik word. Metings is gemaak op 'n een en 'n half gigagreep csv-lêer met 'n rekenaar gebaseer op 'n AMD Ryzen 9 3950X 16-kern verwerker met 64 GB DDR4 RAM en die Ubuntu 20 bedryfstelsel as 'n toetsbank. Vir diegene wat nie wil duik nie in 'n gedetailleerde ontleding van prestasie, 'n Kort verslag is voorberei:

  • crabz met behulp van die zlib backend is identies in prestasie aan pigz;
  • gebruik die zlib-ng backend tot een en 'n half keer vinniger as pigz;
  • crabz met die roes agterkant is effens (5-10%) vinniger as pigz.

Volgens die ontwikkelaars, benewens hoër spoed, het crabz, in vergelyking met pigz, ook die volgende voordele:

  • crabz met die deflate_rust backend gebruik kode wat heeltemal in Rust geskryf is, wat veiliger is;
  • crabz is kruisplatform en ondersteun Windows, wat meer deelnemers kan lok;
  • crabz ondersteun meer formate (Gzip, Zlib, Mgzip, BGZF, Raw Deflate en Snap).

Alhoewel dit ten volle funksioneel is, word crabz deur die ontwikkelaar beskryf as 'n konseptuele prototipe van 'n CLI-instrument wat die GZP-kratpakket gebruik.

Bron: opennet.ru

Voeg 'n opmerking