Multi-Core-Komprimierungstools

Multi-Core-Komprimierungstools

WasKomprimierungswerkzeugeIn Ubuntu sind Funktionen verfügbar, die von einer Multi-Core-CPU profitieren können.

Antwort1

Das Schlüsselwort warparallel. Nach der Suche nach allen Komprimierungstools, die auchparallelIch habe Folgendes gefunden:

PXZ- Parallel XZ ist ein Komprimierungsprogramm, das die Vorteile der gleichzeitigen Ausführung der LZMA-Komprimierung verschiedener Teile einer Eingabedatei auf mehreren Kernen und Prozessoren nutzt. Sein Hauptziel besteht darin, alle Ressourcen zu nutzen, um die Komprimierungszeit zu beschleunigen und dabei die Komprimierungsrate so wenig wie möglich zu beeinflussen.

sudo apt-get install pxz

PLZIP- Lzip ist ein verlustfreier Datenkompressor, der auf dem LZMA-Algorithmus basiert, mit sehr sicherer Integritätsprüfung und einer Benutzeroberfläche ähnlich der von gzip oder bzip2. Lzip dekomprimiert fast so schnell wie gzip und komprimiert besser als bzip2, was es gut für die Softwareverteilung und Datenarchivierung geeignet macht.

Plzip ist eine massiv parallele (multithreaded) Version von lzip, die das lzip-Dateiformat verwendet; die von plzip erstellten Dateien sind vollständig mit lzip kompatibel.

Plzip ist für die schnellere Komprimierung/Dekomprimierung großer Dateien auf Mehrprozessorsystemen gedacht, was es besonders für die Verteilung großer Softwaredateien und die Archivierung umfangreicher Daten geeignet macht. Bei ausreichend großen Dateien kann plzip Hunderte von Prozessoren nutzen.

sudo apt-get install plzip

SCHWEIN- pigz, die Abkürzung steht für Parallel Implementation of GZip, ist ein voll funktionsfähiger Ersatz für gzip, der beim Komprimieren von Daten die Vorteile mehrerer Prozessoren und Kerne nutzt.

sudo apt-get install pigz

PBZIP2- pbzip2 ist eine parallele Implementierung des Blocksortierungs-Dateikompressors bzip2, der pthreads verwendet und auf SMP-Rechnern eine nahezu lineare Beschleunigung erreicht. Die Ausgabe dieser Version ist vollständig kompatibel mit bzip2 v1.0.2 (d. h.: alles, was mit pbzip2 komprimiert wurde, kann mit bzip2 dekomprimiert werden).

sudo apt-get install pbzip2

LRZIP- Ein Multithread-Komprimierungsprogramm, das bei großen Dateien sehr hohe Komprimierungsraten und Geschwindigkeiten erreichen kann. Es verwendet die kombinierten Komprimierungsalgorithmen von zpaq und lzma für maximale Komprimierung, lzo für maximale Geschwindigkeit und die Redundanzreduzierung über lange Distanzen von rzip. Es ist so konzipiert, dass es mit zunehmender RAM-Größe skaliert und die Komprimierung weiter verbessert. Die Wahl zwischen Größen- oder Geschwindigkeitsoptimierungen ermöglicht entweder eine bessere Komprimierung als selbst lzma bieten kann oder eine bessere Geschwindigkeit als gzip, jedoch mit Komprimierungsstufen in der Größe von bzip2.

sudo apt-get install lrzip

Ein kleiner Komprimierungs-Benchmark (unter Verwendung des von Oli erstellten Tests):

ORIGINALDATEIGRÖSSE – 100 MB
PBZIP2 – 101 MB (1 % größer)
PXZ – 101 MB (1 % größer)
PLZIP – 102 MB (1 % größer)
LRZIP – 101 MB (1 % größer)
PIGZ – 101 MB (1 % größer)

Ein kleiner Komprimierungs-Benchmark (mit einer Textdatei):

ORIGINAL DATEIGRÖSSE – 70 KB Textdatei
PBZIP2 – 16,1 KB (23 %)
PXZ – 15,4 KB (22 %)
PLZIP – 15,5 KB (22,1 %)
LRZIP – 15,3 KB (21,8 %)
PIGZ – 17,4 KB (24,8 %)

Antwort2

Es gibt zwei Haupttools. lbzip2und pbzip2. Sie sind im Wesentlichen unterschiedliche Implementierungen von bzip2-Kompressoren. Ich habe sie verglichen (die Ausgabe ist eine aufgeräumte Version, aber Sie sollten in der Lage sein, die Befehle auszuführen)

cd /dev/shm  # we do all of this in RAM!
dd if=/dev/urandom of=bigfile bs=1024 count=102400

$ lbzip2 -zk bigfile 
Time: 0m3.596s
Size: 105335428 

$ pbzip2 -zk bigfile
Time: 0m5.738s6
Size: 10532460

lbzip2scheint bei zufälligen Daten der Gewinner zu sein. Es ist etwas weniger komprimiert, aber viel schneller. Ihre Ergebnisse können abweichen.

Antwort3

Aktualisieren:

XZ-Dienstprogrammeunterstützt seit v5.2.0 Multithread-Komprimierung, wurde ursprünglich jedoch fälschlicherweise als Multithread-Dekomprimierung dokumentiert.

Zum Beispiel:tar -cf - source | xz --threads=0 > destination.tar.xz

Antwort4

Z-Standardunterstützt Multithreading seitVersion 1.2.0¹. Es handelt sich um einen sehr schnellen Kompressor und Dekompressor, der gzip ersetzen soll. Auf den höchsten Stufen kann er genauso effizient (wenn nicht sogar besser) komprimieren wie LZMA2/XZ.

Sie müssen verwendeneine dieser Veröffentlichungen, oder kompilieren Sie die neueste Version aus dem Quellcode, um diese Vorteile zu nutzen. Glücklicherweise sind dabei nicht viele Abhängigkeiten vorhanden.

In v1.1.0 von zstd gab es auch ein pzstd eines Drittanbieters.

verwandte Informationen