Vor- und Nachteile von bzip gegenüber gzip?

Vor- und Nachteile von bzip gegenüber gzip?

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 erhebliche Vor- und Nachteile für eines von beiden gegenüber dem anderen?

Antwort1

Gzip und bzip2 sowie xz und lzop sind funktional gleichwertig. (Es gab einmal ein bzip, aber es scheint völlig von der Bildfläche verschwunden zu sein.) Andere gängige Komprimierungsformate sind zip, rar und 7z; diese drei komprimieren und archivieren (packen mehrere Dateien in eine). Hier sind einige typische Bewertungen in Bezug auf Geschwindigkeit, Verfügbarkeit und typische Komprimierungsrate (beachten Sie, dass diese Bewertungen etwas subjektiv sind, nehmen Sie sie nicht als Evangelium):

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

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 keines davon mitliefert) und gzip unter Unix. Wenn Sie maximale Komprimierung wünschen, verwenden Sie 7z oder xz.

Nicht-Unix-native Formate (zip, rar, 7z) bewahren nicht alle Unix-Metadaten (Eigentümer, Berechtigungen). Wenn Sie das benötigen, verwenden Sie komprimiertes Tar.

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

Antwort2

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

Antwort3

Die Algorithmen erfordern unterschiedliche Kompromisse in Bezug auf Zeit, Speicher und Platz. Bedenken Sie, dass diese Algorithmen vor ziemlich langer Zeit geschrieben wurden und Ihr Smartphone über eine um ein Vielfaches höhere CPU-Leistung verfügt als Desktops von damals.

Sie haben die Wahl zwischen Universalität (.gz) und etwas mehr Komprimierung (.bz2). Nur Sie können sagen, was Ihnen wichtiger ist.

Ein Vorteil von .gz ist, dass es einen Stream komprimieren kann, also eine Sequenz, hinter die man nicht schauen kann. Das macht es zum offiziellen Kompressor für HTTP-Streams. Ich musste deswegen einmal gzip verwenden, aber Sie werden wahrscheinlich nicht darüber nachdenken müssen.

Antwort4

Prohttp://tukaani.org/lzma/benchmarks.htmlgzip komprimiert doppelt so schnell wie bzip2 und dekomprimiert zehnmal so schnell.

Beispielsweise könnte gzip für die Verwendung mit S3-Caching, auf Travis usw., wo es auf schnelle Komprimierung/Dekomprimierung und nicht nur auf kleine Größen ankommt, ein guter Kompromiss sein.

verwandte Informationen