Crabz 0.7:n julkaisu, monisäikeinen pakkaus- ja purkuapuohjelma, joka on kirjoitettu Rustilla

Crabz-apuohjelma julkaistiin, joka toteuttaa monisäikeisen tiedon pakkaamisen ja purkamisen, samankaltaisen pigz-apuohjelman kanssa. Molemmat apuohjelmat ovat gzipin monisäikeisiä versioita, jotka on optimoitu toimimaan moniytimisissä järjestelmissä. Crabz itsessään eroaa siinä, että se on kirjoitettu Rust-ohjelmointikielellä, toisin kuin pigz-apuohjelma, joka on kirjoitettu C-kielellä (ja osittain C++-kielellä), ja sen suorituskyky on kasvanut merkittävästi, joissakin tapauksissa jopa 50%.

Kehittäjien sivulla on yksityiskohtainen vertailu molempien apuohjelmien nopeuksista eri avaimilla ja käytetyillä taustaohjelmilla. Mittaukset tehtiin puolentoista gigatavun csv-tiedostolla PC:llä, joka perustuu AMD Ryzen 9 3950X 16-Core -prosessoriin ja 64 Gt DDR4 RAM -muistiin ja Ubuntu 20 -käyttöjärjestelmään testipenkinä niille, jotka eivät halua sukeltaa yksityiskohtaiseen suoritusanalyysiin, on laadittu lyhyt raportti:

  • zlib-taustaohjelmaa käyttävä crabz on suorituskyvyltään identtinen pigz:n kanssa;
  • käyttämällä zlib-ng-taustaohjelmaa jopa puolitoista kertaa nopeammin kuin pigz;
  • crabz ruosteisella taustalla on hieman (5-10%) nopeampi kuin pigz.

Kehittäjien mukaan suuremman nopeuden lisäksi crabzillä on pigziin verrattuna myös seuraavat edut:

  • crabz deflate_rust-taustajärjestelmällä käyttää koodia, joka on kirjoitettu kokonaan Rustilla, mikä on turvallisempaa;
  • crabz on monialustainen ja tukee Windowsia, mikä voi houkutella lisää osallistujia;
  • crabz tukee useampia muotoja (Gzip, Zlib, Mgzip, BGZF, Raw Deflate ja Snap).

Vaikka crabz on täysin toimiva, kehittäjä kuvailee sitä käsitteelliseksi prototyypiksi CLI-työkalusta, joka käyttää GZP-laatikkopakettia.

Lähde: opennet.ru

Lisää kommentti