Foi lançado o utilitário crabz, que implementa compactação e descompactação de dados multithread, semelhante ao utilitário pigz semelhante. Ambos os utilitários são versões multithread do gzip, otimizadas para execução em sistemas multi-core. O próprio Crabz difere por ser escrito na linguagem de programação Rust, ao contrário do utilitário pigz, escrito em C (e, parcialmente, em C++), e demonstra um aumento significativo de desempenho, em alguns casos chegando a 50%.
Na página dos desenvolvedores há uma comparação detalhada da velocidade de ambos os utilitários com diferentes chaves e backends utilizados. As medições foram feitas em um arquivo csv de um gigabyte e meio usando um PC baseado em um processador AMD Ryzen 9 3950X de 16 núcleos com 64 GB de RAM DDR4 e o sistema operacional Ubuntu 20 como bancada de testes. Para quem não quer mergulhar em uma análise detalhada do desempenho. Um breve relatório foi preparado:
- crabz usando o backend zlib é idêntico em desempenho ao pigz;
- usar o back-end zlib-ng até uma vez e meia mais rápido que o pigz;
- crabz com backend de ferrugem é ligeiramente (5-10%) mais rápido que pigz.
Segundo os desenvolvedores, além da maior velocidade, o crabz, em comparação com o pigz, também apresenta as seguintes vantagens:
- crabz com o backend deflate_rust usa código inteiramente escrito em Rust, que é mais seguro;
- crabz é multiplataforma e suporta Windows, o que pode atrair mais participantes;
- crabz suporta mais formatos (Gzip, Zlib, Mgzip, BGZF, Raw Deflate e Snap).
Embora totalmente funcional, o crabz é descrito pelo desenvolvedor como um protótipo conceitual de uma ferramenta CLI usando o pacote GZP crate.
Fonte: opennet.ru