Sortie de crabz 0.7, un utilitaire de compression et décompression multithread écrit en Rust

L'utilitaire crabz a été publié, qui implémente la compression et la décompression de données multithread, similaire à l'utilitaire similaire pigz. Ces deux utilitaires sont des versions multithread de gzip, optimisées pour fonctionner sur des systèmes multicœurs. Crabz lui-même diffère en ce qu'il est écrit dans le langage de programmation Rust, contrairement à l'utilitaire pigz, écrit en C (et, partiellement, en C++), et démontre une augmentation significative des performances, atteignant dans certains cas 50 %.

Sur la page des développeurs, vous trouverez une comparaison détaillée de la vitesse des deux utilitaires avec différentes clés et backends utilisés. Les mesures ont été effectuées sur un fichier csv d'un gigaoctet et demi en utilisant un PC basé sur un processeur AMD Ryzen 9 3950X 16 cœurs avec 64 Go de RAM DDR4 et le système d'exploitation Ubuntu 20 comme banc de test. dans une analyse détaillée des performances, un bref rapport a été préparé :

  • crabz utilisant le backend zlib a des performances identiques à celles de pigz ;
  • utiliser le backend zlib-ng jusqu'à une fois et demie plus rapide que pigz ;
  • crabz avec le backend rust est légèrement (5 à 10 %) plus rapide que pigz.

Selon les développeurs, en plus d'une vitesse plus élevée, crabz, par rapport à pigz, présente également les avantages suivants :

  • crabz avec le backend deflate_rust utilise du code entièrement écrit en Rust, qui est plus sécurisé ;
  • crabz est multiplateforme et prend en charge Windows, ce qui peut attirer plus de participants ;
  • crabz prend en charge plus de formats (Gzip, Zlib, Mgzip, BGZF, Raw Deflate et Snap).

Bien qu'entièrement fonctionnel, crabz est décrit par le développeur comme un prototype conceptuel d'un outil CLI utilisant le package crate GZP.

Source: opennet.ru

Ajouter un commentaire