Llançament de crabz 0.7, una utilitat de compressió i descompressió multifils escrita en Rust

Es va llançar la utilitat crabz, que implementa la compressió i descompressió de dades multifils, de manera similar a la utilitat pigz similar. Ambdues utilitats són versions multiprocés de gzip, optimitzades per executar-se en sistemes multinucli. El mateix Crabz es diferencia perquè està escrit en el llenguatge de programació Rust, a diferència de la utilitat pigz, escrit en C (i, parcialment, en C++), i demostra un augment significatiu del rendiment, arribant en alguns casos al 50%.

A la pàgina dels desenvolupadors hi ha una comparació detallada de la velocitat d'ambdues utilitats amb diferents claus i backends utilitzats. Les mesures es van fer en un fitxer csv d'un gigabyte i mig utilitzant un ordinador basat en un processador AMD Ryzen 9 3950X de 16 nuclis amb 64 ​​GB de RAM DDR4 i el sistema operatiu Ubuntu 20 com a banc de proves. Per a aquells que no volen submergir-se. en una anàlisi detallada del rendiment, s'ha elaborat un breu informe:

  • crabz que utilitza el backend zlib és idèntic en rendiment a pigz;
  • utilitzant el backend zlib-ng fins a una vegada i mitja més ràpid que pigz;
  • crabz amb la part posterior de rovell és lleugerament (5-10%) més ràpid que el pigz.

Segons els desenvolupadors, a més de la velocitat més alta, crabz, en comparació amb pigz, també té els següents avantatges:

  • crabz amb el backend deflate_rust utilitza codi escrit completament en Rust, que és més segur;
  • crabz és multiplataforma i admet Windows, que pot atraure més participants;
  • crabz admet més formats (Gzip, Zlib, Mgzip, BGZF, Raw Deflate i Snap).

Tot i que és totalment funcional, el desenvolupador descriu crabz com un prototip conceptual d'una eina CLI que utilitza el paquet de caixes GZP.

Font: opennet.ru

Afegeix comentari