Lansarea crabz 0.7, un utilitar de compresie și decompresie cu mai multe fire scris în Rust

A fost lansat utilitarul crabz, care implementează compresia și decompresia datelor cu mai multe fire, similar cu utilitarul pigz similar. Ambele utilitare sunt versiuni multi-threaded ale gzip, optimizate pentru a rula pe sisteme multi-core. Crabz în sine diferă prin faptul că este scris în limbajul de programare Rust, spre deosebire de utilitarul pigz, scris în C (și, parțial, în C++), și demonstrează o creștere semnificativă a performanței, ajungând în unele cazuri la 50%.

Pe pagina dezvoltatorilor există o comparație detaliată a vitezei ambelor utilități cu diferite chei și backend-uri utilizate. Măsurătorile au fost făcute pe un fișier csv de un gigaoctet și jumătate folosind un computer bazat pe un procesor AMD Ryzen 9 3950X 16-Core cu 64 GB RAM DDR4 și sistemul de operare Ubuntu 20 ca banc de testare.Pentru cei care nu doresc să se scufunde într-o analiză detaliată a performanței, a fost pregătit un scurt raport:

  • crabz folosind backend-ul zlib este identic ca performanță cu pigz;
  • utilizarea backend-ului zlib-ng de până la o ori și jumătate mai rapid decât pigz;
  • crabz cu partea din spate a ruginii este puțin (5-10%) mai rapid decât pigz.

Potrivit dezvoltatorilor, pe lângă viteza mai mare, crabz, în comparație cu pigz, are și următoarele avantaje:

  • crabz cu backend-ul deflate_rust utilizează cod scris în întregime în Rust, care este mai sigur;
  • crabz este multi-platformă și acceptă Windows, care poate atrage mai mulți participanți;
  • crabz acceptă mai multe formate (Gzip, Zlib, Mgzip, BGZF, Raw Deflate și Snap).

Deși pe deplin funcțional, crabz este descris de dezvoltator ca un prototip conceptual al unui instrument CLI folosind pachetul de ladă GZP.

Sursa: opennet.ru

Adauga un comentariu