Welche Archivierungsmethode eignet sich besser zum Komprimieren von Textdateien unter Linux?


16

In meiner Anwendung muss ich Protokolle komprimieren, die Textdateien sind.

Scheint so bzip2und gziphat das selbe Kompressionsverhältnis.

Ist das korrekt?


xz (von xz-tools oder 7z von p7zip, es ist sehr ähnlich wie lzma) ist das Beste. bzip2 ist besser als gzip.
osgx

Antworten:


4

Normalerweise hat bz2 ein besseres Komprimierungsverhältnis, kombiniert mit besseren Wiederherstellungsfunktionen.

OTOH, gz ist schneller.

xz soll sogar besser sein als bz2, aber ich kenne das Timing-Verhalten nicht.


xz ist langsamer als bzip2.
osgx

xz ist nicht nur langsamer, sondern auch viel langsamer. Die Komprimierung von 300-MB-Dateien dauerte ca. 30 Sekunden. Ich habe xz getötet, nachdem es länger als 5 Minuten komprimiert worden war
Tebe

@ Копать_Шо_я_нашел Ich denke, es hängt stark von der gewählten Komprimierungsstufe ab. Mit -1ist es nicht so langsam, aber mit den Standardeinstellungen ist es eher langsam.
Glglgl

7

Letztes Update von maximumcompression.com ist Juni 2011 (Antwort im Oktober 2015 aktualisiert).
Daher wird auf dieser Website
der derzeitige weltweite Meistertextkomprimierer nicht erwähnt :

      cmix

Wettbewerbe / Benchmarks:

Details:
Byron Knoll entwickelt sich cmixseit 2013 aktiv als libre software (GPL) basierend auf dem Buch Data Compression Explained von Matt Mahoney . Matt Mahoney behält auch einige der oben genannten Benchmarks bei und schlägt ZPAQ ( WP ) vor, einen inkrementellen Befehlszeilenarchivierer.


Wenn Sie ein Standardwerkzeug bevorzugen (das weniger RAM benötigt), empfehle ich:

      lrzip

lrzipist eine Weiterentwicklung rzipvon Con Kolivas .
lrzipsteht für zwei Namen: Long Range ZIP und Lzma RZIP .
lrzipist oft besser als xz(ein anderes beliebtes Komprimierungswerkzeug).
Alexander Riccio empfiehlt auch lrzip.


Mein Liebling ist:

      zpaq

Der "Archivierungsexperte" , Matt Mahoney , hat zehn Jahre intensiv an PAQ- Algorithmen gearbeitet und bietet den besten Kompromiss zwischen CPU- / Speicherressourcen und Komprimierungsgrad.

Die letzte zpaqVersion ist jedoch nicht oft in der aktuellen Distribution enthalten :-(
Ich kompiliere sie immer aus Quellen, wenn ich eine neue Maschine habe und einen sehr guten Kompressor benötige: https://github.com/zpaq/zpaq

clone https://github.com/zpaq/zpaq
cd zpaq
g++ -O3 -march=native -Dunix zpaq.cpp libzpaq.cpp -pthread -o zpaq


1

Ich habe einen Benchmark zum Testen gemacht, um Folgendes zu komprimieren:
204 MB Ordner (mit 1.600 HTML-Dateien)
Ergebnisse

7zip =>     2.38 MB
winrar =>   49.5 MB
zip =>      50.8 MB
gzip =>     51.9 MB

Der 7zip ist also der beste unter ihnen, den Sie hier herunterladen können.
http://www.7-zip.org/


0

bz2 hat eine engere Komprimierung, der Algorithmus hat mehr Optionen, um nach Redundanz zu suchen, um diese weg zu komprimieren.

gzip enthält viel mehr Tools und ist plattformübergreifender. Weitere Windows-Tools können mit GZ-Dateien umgehen. Es ist Teil von http, sodass auch Webbrowser es verstehen können.

Unter Linux gibt es Tools, mit denen Sie komprimierte Dateien direkt bearbeiten können. zgrep und bzgrep können in komprimierten Dateien suchen.

Wenn ich nur unter Linux arbeiten würde, würde ich bzip2 verwenden, um die etwas besseren Komprimierungsraten zu erzielen.


0

xz komprimiert viel besser als bz2, benötigt aber mehr Zeit. Wenn also die maximale Komprimierung Ihr Ziel ist und der Speicherplatz auf Ihrer Festplatte knapp bemessen ist (was bei einer zu 98% vollen Festplatte der Fall ist - während ich meine Dateisysteme reorganisiere), können Sie ein Skript auslösen, um die Arbeit zu erledigen - Machen Sie eine Pause und kommen Sie in 5 Minuten zurück.

unxz lässt sich meiner Erfahrung nach sehr schnell dekomprimieren - was für mich täglich von Vorteil ist.

bz2 ist schneller zu komprimieren als xz, scheint aber nicht die Komprimierungsergebnisse von xz zu erreichen.

Die einzige Möglichkeit, diese Bewertungen vorzunehmen, besteht darin, Benchmarks für eine Mischung gängiger Dateien durchzuführen, die Sie normalerweise komprimieren / dekomprimieren würden, und die Parameter zu variieren, um festzustellen, welche am besten herauskommen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.