Foi lançado o utilitário crabz, que implementa compressão e descompressão de dados em múltiplas threads, semelhante ao utilitário pigz. Ambos esses utilitários são versões com múltiplas threads do programa gzip, otimizados para funcionar em sistemas multicore. O crabz se destaca por ser escrito na linguagem de programação Rust, ao contrário do pigz, que é escrito em C (e, parcialmente, em C++), e demonstra um ganho de desempenho significativo, alcançando em alguns casos até 50%.
Na página dos desenvolvedores, há uma comparação detalhada da velocidade de ambos os utilitários com várias chaves e backends utilizados. As medições foram realizadas em um arquivo csv de 1,5 gigabytes, usando uma máquina com processador AMD Ryzen 9 3950X de 16 núcleos e 64 GB de RAM DDR4, rodando o sistema operacional Ubuntu 20. Para aqueles que não querem se aprofundar na análise de desempenho, um relatório resumido foi preparado:
- o crabz usando o backend zlib é idêntico ao pigz em termos de desempenho;
- usando o backend zlib-ng é até uma vez e meia mais rápido do que o pigz;
- o crabz com o backend rust é ligeiramente (5-10%) mais rápido que o pigz.
Segundo os desenvolvedores, além da maior velocidade, o crabz, em comparação com o pigz, também possui as seguintes vantagens:
- o crabz com o backend deflate_rust utiliza código totalmente escrito em Rust, o que é mais seguro;
- o crabz é multiplataforma e suporta Windows, o que pode atrair mais usuários;
- o crabz suporta mais formatos (Gzip, Zlib, Mgzip, BGZF, Raw Deflate e Snap).
Apesar de estar completamente funcional, o crabz é caracterizado pelo desenvolvedor como um protótipo conceitual de uma ferramenta CLI, utilizando o pacote crate GZP.
Fonte: opennet.ru
