Veröffentlichung von crabz 0.7, einem in Rust geschriebenen Multithread-Komprimierungs- und Dekomprimierungsdienstprogramm

Die Veröffentlichung des Dienstprogramms crabz, das die Multithread-Komprimierung und -Dekomprimierung von Daten implementiert, ähnelt der des Dienstprogramms pigz. Bei beiden Dienstprogrammen handelt es sich um Multithread-Versionen des gzip-Programms, die für Multicore-Systeme optimiert sind. Crabz selbst unterscheidet sich dadurch, dass es im Gegensatz zum in C (und teilweise in C++) geschriebenen Dienstprogramm pigz in der Programmiersprache Rust geschrieben ist und eine deutliche Leistungssteigerung aufweist, die in einigen Fällen 50 % erreicht.

Auf der Entwicklerseite finden Sie einen detaillierten Vergleich der Geschwindigkeit beider Dienstprogramme mit unterschiedlichen verwendeten Schlüsseln und Backends. Die Messungen wurden an einer eineinhalb Gigabyte großen CSV-Datei durchgeführt, wobei als Prüfstand ein PC mit AMD Ryzen 9 3950X 16-Core-Prozessor und 64 GB DDR4-RAM und dem Betriebssystem Ubuntu 20 verwendet wurde. Für diejenigen, die das nicht wollen Tauchen Sie ein in eine detaillierte Leistungsanalyse und erstellen Sie einen kurzen Bericht:

  • crabz, das das zlib-Backend verwendet, ist hinsichtlich der Leistung identisch mit pigz;
  • Verwendung des Zlib-NG-Backends bis zu XNUMX-mal schneller als Pigz;
  • Crabz mit Rust-Backend ist geringfügig (5-10 %) schneller als Pigz.

Laut den Entwicklern bietet Crabz im Vergleich zu Pigz neben einer höheren Geschwindigkeit auch folgende Vorteile:

  • crabz mit einem deflate_rust-Backend verwendet vollständig in Rust geschriebenen Code, der sicherer ist;
  • crabz ist plattformübergreifend und unterstützt Windows, was mehr Mitwirkende anziehen kann;
  • crabz unterstützt weitere Formate (Gzip, Zlib, Mgzip, BGZF, Raw Deflate und Snap).

Obwohl voll funktionsfähig, wird crabz vom Entwickler als konzeptioneller Prototyp eines CLI-Tools beschrieben, das das GZP-Crate-Paket verwendet.

Source: opennet.ru

Kommentar hinzufügen