A fost lansată utilitarul crabz, care implementează comprimarea și decomprimarea datelor pe mai multe fire de execuție, similar cu utilitarul pigz. Ambele utilitare sunt variante multi-threaded ale programului gzip, optimizate pentru a funcționa pe sisteme multicore. Crabz se deosebește prin faptul că este scris în limbajul de programare Rust, spre deosebire de pigz, care este scris în C (și, parțial, în C++), și prezintă un câștig semnificativ de performanță, care în unele cazuri atinge 50%.
Pe pagina dezvoltatorilor există o comparație detaliată a vitezei de execuție a ambelor utilitare cu diverse comenzi și backend-uri utilizate. Măsurătorile au fost realizate pe un fișier csv de 1,5 gigabytes folosind un PC bazat pe AMD Ryzen 9 3950X cu 16 nuclee și 64 GB de RAM DDR4 pe sistemul de operare Ubuntu 20. Pentru cei care nu doresc să se adâncească în analiza detaliată a performanței, s-a pregătit un raport scurt:
- crabz utilizând backend-ul zlib este identic cu pigz în ceea ce privește performanța;
- utilizând backend-ul zlib-ng este de până la 1,5 ori mai rapid decât pigz;
- crabz cu backend-ul rust este ușor (cu 5-10%) mai rapid decât pigz.
Potrivit dezvoltatorilor, pe lângă viteza mai mare de execuție, crabz, în comparație cu pigz, are și următoarele avantaje:
- crabz cu backend-ul deflate_rust folosește cod complet scris în Rust, ceea ce este mai sigur;
- crabz este cross-platform și suportă Windows, ceea ce poate atrage mai mulți utilizatori;
- crabz suportă mai multe formate (Gzip, Zlib, Mgzip, BGZF, Raw Deflate și Snap).
În ciuda funcționalității complete, crabz este descris de dezvoltator ca un prototip conceptual al unui instrument CLI, utilizând pachetul crate GZP.
Sursa: opennet.ro
