Izdanje crabza 0.7, višenitnog uslužnog programa za kompresiju i dekompresiju napisanog u Rustu

Izdan je uslužni program crabz koji implementira kompresiju i dekompresiju podataka u više niti, slično sličnom uslužnom programu pigz. Oba ova pomoćna programa su višenitne verzije gzipa, optimizirane za rad na višejezgrenim sustavima. Sam Crabz se razlikuje po tome što je napisan u programskom jeziku Rust, za razliku od uslužnog programa pigz, napisanog u C (i, djelomično, u C++), i pokazuje značajno povećanje performansi, u nekim slučajevima dosežući 50%.

Na stranici za programere nalazi se detaljna usporedba brzine oba pomoćna programa s različitim ključevima i korištenim pozadinama. Mjerenja su obavljena na csv datoteci od jednog i pol gigabajta korištenjem osobnog računala baziranog na 9-jezgrenom procesoru AMD Ryzen 3950 16X sa 64 GB DDR4 RAM-a i operativnim sustavom Ubuntu 20 kao testnim stolom. Za one koji ne žele roniti u detaljnu analizu učinka, pripremljeno je kratko izvješće:

  • crabz koji koristi zlib pozadinu identičan je u performansama kao pigz;
  • korištenje pozadine zlib-ng do jedan i pol puta brže od pigza;
  • crabz s rust pozadinom je malo (5-10%) brži od pigza.

Prema programerima, osim veće brzine, crabz, u usporedbi s pigzom, također ima sljedeće prednosti:

  • crabz s pozadinom deflate_rust koristi kod u potpunosti napisan u Rustu, što je sigurnije;
  • crabz je višeplatformski i podržava Windows, što može privući više sudionika;
  • 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