Lanzamiento de crabz 0.7, una utilidad de compresión y descompresión multiproceso escrita en Rust

Se lanzó la utilidad Crabz, que implementa la compresión y descompresión de datos multiproceso, similar a la utilidad pigz. Ambas utilidades son versiones multiproceso de gzip, optimizadas para ejecutarse en sistemas multinúcleo. El propio Crabz se diferencia en que está escrito en el lenguaje de programación Rust, a diferencia de la utilidad pigz, escrita en C (y, parcialmente, en C++), y demuestra un aumento significativo del rendimiento, que en algunos casos alcanza el 50%.

En la página de los desarrolladores hay una comparación detallada de la velocidad de ambas utilidades con diferentes claves y backends utilizados. Las mediciones se realizaron en un archivo csv de un giga y medio utilizando una PC basada en un procesador AMD Ryzen 9 3950X de 16 núcleos con 64 GB de RAM DDR4 y el sistema operativo Ubuntu 20 como banco de pruebas. En un análisis detallado del desempeño, se ha preparado un breve informe:

  • Crabz que usa el backend zlib tiene un rendimiento idéntico al de pigz;
  • usar el backend zlib-ng hasta una vez y media más rápido que pigz;
  • Crabz con el backend oxidado es ligeramente (5-10%) más rápido que pigz.

Según los desarrolladores, además de una mayor velocidad, Crabz, en comparación con Pigz, también tiene las siguientes ventajas:

  • Crabz con el backend deflate_rust utiliza código completamente escrito en Rust, que es más seguro;
  • Crabz es multiplataforma y es compatible con Windows, lo que puede atraer a más participantes;
  • Crabz admite más formatos (Gzip, Zlib, Mgzip, BGZF, Raw Deflate y Snap).

Aunque es completamente funcional, el desarrollador describe Crabz como un prototipo conceptual de una herramienta CLI que utiliza el paquete Crate GZP.

Fuente: opennet.ru

Añadir un comentario