È stata rilasciata l'utility crabz, che implementa la compressione e decompressione dei dati in multithreading, simile all'utility pigz. Entrambe queste utility sono varianti multithread della programma gzip, ottimizzate per lavorare su sistemi multicore. crabz si distingue per essere scritto in Rust, a differenza dell'utility pigz, scritta in C (e, in parte, in C++), e mostra un significativo aumento delle prestazioni, che in alcuni casi raggiunge il 50%.
Nella pagina dedicata agli sviluppatori è disponibile un confronto dettagliato della velocità di entrambe le utility con diverse opzioni e backend. Le misurazioni sono state effettuate su un file csv di 1,5 gigabyte utilizzando un PC basato su AMD Ryzen 9 3950X 16-Core Processor con 64 GB di RAM DDR4 e su un sistema operativo Ubuntu 20. Per coloro che non desiderano immergersi in un'analisi approfondita delle prestazioni, è stato preparato un rapporto sintetico:
- crabz con il backend zlib è identico a pigz in termini di prestazioni;
- con il backend zlib-ng è fino a 1,5 volte più veloce rispetto a pigz;
- crabz con il backend rust è leggermente (del 5-10%) più veloce di pigz.
Secondo gli sviluppatori, oltre a una maggiore velocità, crabz offre anche i seguenti vantaggi rispetto a pigz:
- crabz con backend deflate_rust utilizza codice completamente scritto in Rust, che è più sicuro;
- crabz è multipiattaforma e supporta Windows, il che potrebbe attrarre più partecipanti;
- crabz supporta più formati (Gzip, Zlib, Mgzip, BGZF, Raw Deflate e Snap).
Nonostante la piena funzionalità, crabz è descritto dallo sviluppatore come un prototipo concettuale di strumento CLI che utilizza il pacchetto crate GZP.
Fonte: opennet.ru
