Welcher Kompressionsalgorithmus ist zwischen xz, gzip und bzip2 der effizienteste?

14576
Nathan2055

Welcher Komprimierungsalgorithmus gibt zwischen xz, gzip und bzip2 die kleinste Dateigröße und schnellste Geschwindigkeit beim Komprimieren größerer Tarballs an?

13
"das Beste" wie in "die kleinste Dateigröße"? Hennes vor 11 Jahren 0
Ich weiß nicht, ich habe versucht, die Frage zu formulieren, damit ich meinen Test als Antwort hinzufügen kann. Ich habe auch keine Ahnung, warum dieses Ding geschlossen wurde. @ Karan Nathan2055 vor 11 Jahren 0
Oh, warum wurde es einfach geschlossen. "Best" ist höchst subjektiv und führt in der Regel zu Diskussionen oder nicht konstruktiven Antworten. Die beste Komprimierung kann kleinste Dateigröße, schnellste Komprimierung, geringste Komprimierungsleistung (z. B. auf einem Laptop), geringste Beeinflussung des Systems beim Komprimieren (z. B. alte Programme mit einem einzelnen Profil, die nur einen der Kerne verwenden), ... oder eine Kombination sein von allen diesen. Hennes vor 11 Jahren 1
Ein interessanter Artikel zum Lesen ist http://www.tomshardware.com/reviews/winrar-winzip-7-zip-magicrar,3436.html (Windows-basiert und konzentriert sich auf 7zip, magicRAR, WinRAR und WinZip anstelle von xz, gz.) oder bz, aber immer noch interessant und liefert Hintergrundinformationen). Hennes vor 11 Jahren 0
@Hennes - Ich habe den Post aufgeräumt, um am besten genau das zu ersetzen, was ich recherchiert habe. Danke auch für den Artikel, den Sie erwähnt haben. Ich werde ihn später heute lesen. Nathan2055 vor 11 Jahren 0

3 Antworten auf die Frage

11
Nathan2055

In meinem Stresstest habe ich 464 MB Daten mit den drei aufgeführten Formaten komprimiert. Gzip gab eine 364 MB-Datei zurück. Bzip2 gab eine 315 MB-Datei zurück. Xz gab eine 254 MB-Datei zurück. Ich habe auch einen einfachen Geschwindigkeitstest gemacht:

Kompression:

1: Gzip

2: Xz

3: Bzip2 (mein Fan blies ziemlich viel, während dies lief, was darauf hindeutet, dass mein Athlon II ziemlich angespannt war)

Dekompression:

1: Xz

2: Gzip

3: Bzip2

Bitte beachten Sie, dass alle diese Tests mit der neuesten Version von 7-Zip durchgeführt wurden.

Xz ist das beste Format für eine abgerundete Komprimierung, während Gzip für Geschwindigkeit sehr gut ist. Bzip2 ist wegen seines Kompressionsverhältnisses anständig, obwohl xz wahrscheinlich an seiner Stelle verwendet werden sollte.

Gute Forschung. Haben Sie die verschiedenen Komprimierungsstufen (mindestens) bzip2 ausprobiert, zB `bzip2 -9"? Aaron Miller vor 11 Jahren 2
@AaronMiller - Nein, können diese über 7-Zip verwendet werden? Nathan2055 vor 11 Jahren 0
Es scheint so, obwohl ich nicht sicher bin, in welchem ​​Umfang: siehe http://www.dotnetperls.com/7-zip-examples, Abschnitt "Switch m". Aaron Miller vor 11 Jahren 0
Welche Daten waren aus Neugier die Testdatei? GeminiDomino vor 10 Jahren 6
Beachten Sie, dass unterschiedliche Datentypen zu unterschiedlichen komprimierten Größen führen. Siehe [hier] (https://www.lifewire.com/which-is-the-best-compression-tool-for-linux-4082712) für Beispiele. Ploni vor 6 Jahren 0
3
Persian

Ich habe einen eigenen Benchmark für ein vmdk-Image mit 1,1 GB Linux-Installation erstellt:

rar =260MB comp= 85s decomp= 5s 7z(p7z)=269MB comp= 98s decomp=15s tar.xz =288MB comp=400s decomp=30s tar.bz2=382MB comp= 91s decomp=70s tar.gz =421MB comp=181s decomp= 5s 

Alle Komprimierungsstufen auf max., Intel I7 3740QM, 32GB 1600, Quelle und Ziel auf der RAM-Disk

I Verwenden Sie im Allgemeinen rar oder 7z zum Archivieren von normalen Dateien wie Dokumenten.
und zum Archivieren von Systemdateien verwende ich .tar.gz oder .tar.xz über file-roller oder tar mit -z oder -J-Optionen zusammen mit --preserve, um mit tar nativ zu komprimieren und Berechtigungen zu erhalten (alternativ auch .tar.7z oder .tar.7z) .tar.rar kann verwendet werden)

Update: Da tar nur normale Berechtigungen und nicht ACLs behält, können auch einfache .7z-Sicherungs- und Wiederherstellungsberechtigungen und ACLs manuell über getfacl und sefacl verwendet werden. Dies ist die beste Option für die Archivierung von Dateien oder die Sicherung von Systemdateien, da sie voll ist Berechtigungen und Zugriffssteuerungslisten beibehalten, Prüfsumme, Integritätstest und Verschlüsselungsfunktion vorhanden, Nachteil ist nur, dass p7zip nicht überall verfügbar ist

Student, was gab es für rar? Versuchen Sie [lrzip by kolivas] (http://ck.kolivas.org/apps/lrzip/), es sollte für virtuelle Festplattenabbilder gut funktionieren. osgx vor 9 Jahren 0
Ich migriere von RAR zu Git und Tarballs für meine Textdateien und Btrfs für alles andere. Mein Grund für die Verwendung von RAR ist nicht die Leistung. Ich verwende es wegen Funktionen wie Wiederherstellungsprotokoll, separater 256-Bit-Prüfsumme auf Dateiebene für jede Datei und .... Persian vor 9 Jahren 0
1
Johnride

Ich denke, dass dieser Artikel sehr interessante Ergebnisse liefert.

http://pokecraft.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO

Die größeneffizientesten Formate sind xz und lzma, beide mit dem übergebenen Parameter -e.

Die schnellsten Algorithmen sind bei weitem lzop und lz4, die innerhalb von 1,3 Sekunden einen nicht weit von gzip entfernten Kompressionsgrad erzeugen können, während gzip 8,1 Sekunden benötigte. Das Kompressionsverhältnis beträgt 2,8 für lz4 und 3,7 für gzip.

Hier sind einige Ergebnisse, die ich aus diesem Artikel extrahiert habe:

  • Gzip: 8,1s @ 3,7

  • lz4: 1,3s @ 2,8

  • xz: 32,2s @ 5,43

  • xz -e: 6m40 @ 7,063

  • xz: 4m51s @ 7,063

Wenn Sie also unbedingt Geschwindigkeit brauchen, ist lz4 fantastisch und bietet trotzdem eine Kompressionsrate von 2,8.

Wenn Sie das Byte unbedingt ersparen müssen, erledigt xz mit der maximalen Komprimierungsstufe (9) die beste Arbeit für Textdateien wie die Kernelquelle. Es ist jedoch sehr lang und benötigt viel Speicher.

Eine gute Lösung, bei der die Zeit und der Zeitaufwand minimiert werden müssen, ist gzip. Dies ist die, die ich verwenden würde, um tägliche tägliche Backups einer Produktionsumgebung zu erstellen.