Izdanje crabz 0.7, višenitnog uslužnog programa za kompresiju i dekompresiju napisan na Rustu

Objavljen je uslužni program crabz, koji implementira višenitnu kompresiju i dekompresiju, slično sličnom pigz uslužnom programu. Oba ova uslužna programa su verzije gzip-a s više niti, optimizirane za rad na sistemima s više jezgara. Sam Crabz se razlikuje po tome što je napisan u programskom jeziku Rust, za razliku od uslužnog programa pigz, napisan u C (i, djelimično, u C++), i pokazuje značajno povećanje performansi, u nekim slučajevima dostižući 50%.

Na stranici programera nalazi se detaljno poređenje brzine oba uslužna programa s različitim ključevima i pozadinskim dijelovima koji se koriste. Mjerenja su obavljena na csv fajlu od jedan i po gigabajta korištenjem računara baziranog na AMD Ryzen 9 3950X 16-jezgrenom procesoru sa 64 GB DDR4 RAM-a i Ubuntu 20 operativnim sistemom kao probnim stolom. Za one koji ne žele da rone u detaljnu analizu učinka, Pripremljen je kratak izvještaj:

  • crabz koji koristi zlib backend je identičan u performansama kao i pigz;
  • korištenje zlib-ng backend-a do jedan i po puta brže od pigz-a;
  • crabz sa rust backendom je nešto (5-10%) brži od pigz-a.

Prema programerima, osim veće brzine, Crabz, u poređenju sa pigz-om, ima i sljedeće prednosti:

  • crabz sa deflate_rust pozadinom koristi kod u potpunosti napisan u Rustu, koji je sigurniji;
  • crabz je višeplatformski i podržava Windows, što može privući više učesnika;
  • crabz podržava više formata (Gzip, Zlib, Mgzip, BGZF, Raw Deflate i Snap).

Iako potpuno funkcionalan, programer opisuje crabz kao konceptualni prototip CLI alata koji koristi GZP paket sanduka.

izvor: opennet.ru

Dodajte komentar