Vor- und Nachteile von bzip vs gzip?

122

Ich kenne gzip seit Jahren und habe kürzlich gesehen, wie bzip bei der Arbeit verwendet wird. Sind sie im Grunde gleichwertig oder gibt es signifikante Vor- und Nachteile für einen von ihnen gegenüber dem anderen?

ripper234
quelle
2
Dies ist zwar eine alte Frage mit einer gültigen und korrekten Antwort, aber ich möchte die Leute auf dieses Google-Ergebnis hinweisen : tukaani.org/lzma/benchmarks.html, da es es weiter aufschlüsselt
Angry 84
Ist das nicht bzip für die Komprimierung und gzip für die Archivierung?
juniorRubyist
@juniorRubyist Quelle?
Ripper234
Das habe ich gerade gehört. Ich habe vergessen, wo.
juniorRubyist
Keine Erwähnung von wahlfreiem Zugriff? stackoverflow.com/questions/14225751/…
neverMind9

Antworten:

147

Gzip und bzip2 sind funktional gleichwertig. (Es gab einmal ein bzip, aber es scheint völlig verschwunden zu sein.) Andere gängige Komprimierungsformate sind zip, rar und 7z; Diese drei Methoden dienen sowohl zur Komprimierung als auch zur Archivierung (Packen mehrerer Dateien in eine). Hier sind einige typische Bewertungen in Bezug auf Geschwindigkeit, Verfügbarkeit und typisches Komprimierungsverhältnis (beachten Sie, dass diese Bewertungen etwas subjektiv sind und nicht als Evangelium verstanden werden):

decompression speed (fast > slow): gzip, zip > 7z > rar > bzip2
compression speed (fast > slow): gzip, zip > bzip2 > 7z > rar
compression ratio (better > worse): 7z > rar, bzip2 > gzip > zip
availability (unix): gzip > bzip2 > zip > 7z > rar
availability (windows): zip > rar > 7z > gzip, bzip2

Wie Sie sehen, gibt es keinen klaren Gewinner. Wenn Sie sich auf Programme verlassen möchten, die wahrscheinlich bereits installiert sind, verwenden Sie zip unter Windows (oder wenn möglich selbstextrahierende Archive, da Windows mit keinem dieser Programme ausgeliefert wird) und gzip unter Unix. Wenn Sie maximale Komprimierung wünschen, verwenden Sie 7z.

Rar hat auch den Nachteil, dass es meines Wissens keine freie Software gibt, die rar-Archive erstellt oder alle rar-Archive entpacken kann. Die anderen Formate haben freie Implementierungen und keine (ernsthaften) Patentansprüche.

Gilles
quelle
2
Soweit ich weiß, können alle Windows-Versionen seit XP die ZIP-Datei nativ mit der Datei explorern öffnen
Lie Ryan
22
@ new123456 Unter OpenBSD befindet sich gzip im Basissystem, aber bzip2 muss aus einem Paket installiert werden. Viele * WRT-Router enthalten gzip, aber nicht bzip2.
Gilles
2
@Gilles Ich kann bestätigen, dass mein DD-WRT Release: 08/12/10 (SVN-Revision: 14929) nicht bzip2, sondern gzip enthält.
Urda
11
@mlainz Originalforschung. Das ist nicht Wikipedia.
Gilles
3
es scheint völlig verschwunden zu sein - Plain old ist bzipverschwunden, weil es die patentierte algorithmische Codierung verwendet hat. Aufgrund des Patents wurde es neu gestaltet, um stattdessen die Huffman-Codierung zu verwenden. Während dieser Neugestaltung wurden neue Funktionen und Verbesserungen hinzugefügt. Die grundlegende Eigenschaft, die einen einzigartigen Komprimierungsalgorithmus ausmacht, die Burrows-Wheeler-Transformation, ist in beiden Versionen gleich geblieben.
Wald
24

Soweit ich das beurteilen kann, ist gzip insgesamt schneller, während bzip insgesamt eine bessere (kleinere) Komprimierung erzeugt.

Lüge Ryan
quelle
Außerdem scheint gzip etwas besser unterstützt zu werden, insbesondere unter Windows ..
Dentrasi
5
@Dentrasi: winrar / 7zip unterstützt beide, was ist das Problem?
Whitequark
@whitequark: Eine breite Unterstützung ist vor allem für Unix wichtig, da Benutzer möglicherweise keinen Root-Zugriff haben und mit dem arbeiten müssen, was bereits installiert ist. Gilt auch für Windows-Umgebungen, in denen der Benutzer keinen Administratorzugriff hat (Schulen / Bibliotheken / usw.).
Matthew
4
@Matthew, Sie benötigen keine Administratorrechte, um viele portierte freie Software zu verwenden, einschließlich 7zip.
Whitequark
1
@IQAndreas: einige Benchmarks: 1 , 2 , 3
Lie Ryan
5

Die Algorithmen haben unterschiedliche Zeit-, Speicher- und Raumkompromisse. Denken Sie daran, dass diese Algorithmen schon vor langer Zeit geschrieben wurden und Ihr Smartphone viel mehr CPU als die Desktops jener Tage hat.

Sie können zwischen Universalität (.gz) und etwas mehr Komprimierung (.bz2) wählen. Nur Sie können sagen, was Sie mehr interessiert.

Ein Vorteil von .gz ist, dass es einen Stream komprimieren kann, eine Sequenz, hinter der Sie nicht nachsehen können. Dies macht es zum offiziellen Komprimierer von http-Streams. Aus diesem Grund musste ich gzip einmal verwenden, aber es ist unwahrscheinlich, dass Sie darüber nachdenken müssen.

Reiche Homolka
quelle
4

Hier ist eine Liste von Sites, die Komprimierungsalgorithmen testen. Um nur bzip und gzip zu finden, müssen Sie ein wenig graben, aber die meisten Sites listen Eigenschaften der Algorithmen auf. Auf diese Weise können Sie vergleichen, was für Sie wichtig ist: Größe (Komprimierungsrate), Zeit, Speicher, CPU.
http://www.maximumcompression.com/benchmarks/benchmarks.php

Scott McClenning
quelle
1

Meiner Erfahrung nach bietet bzip durchweg bessere Komprimierungsraten als gzip. Mit 7zip als Manager und bzip-Algorithmus kann 7zip auch Multi-Core-Prozessoren verwenden.

Sathyajith Bhat
quelle
1

Laut http://tukaani.org/lzma/benchmarks.html komprimiert gzip doppelt so schnell wie bzip2 und dekomprimiert zehnmal so schnell.

ZB für die Verwendung mit S3-Caching, auf Travis usw., wo Sie die Geschwindigkeit des Komprimierens / Dekomprimierens wünschen, nicht nur kleine Größen, könnte gzip ein guter Kompromiss sein.

Hugh Perkins
quelle