Lançamento do crabz 0.7, um utilitário de compactação e descompactação multithread escrito em Rust

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

Adicionar um comentário