Was ist mit bzip1 passiert?

40

bzip2 war schon seit vielen Jahren ein De-facto- Standard für ziemlich starke Komprimierung. Ich selbst hatte den bzip2Befehl bisher tausendmal eingegeben , was mich wundert - was ist mit bzip oder bzip1 passiert? Google scheint mir nicht viel darüber zu erzählen und es hört sich so an, als wäre es eine interessante Geschichtsstunde.

d33tah
quelle

Antworten:

32

Es scheint, dass das Original bzipum 1998 aufgrund von Patentproblemen mit der in verwendeten arithmetischen Komprimierung gezogen wurde. Ein bisschen Graben (eigentlich nur das Lesen von Wikipedia) ergibt einen archivierten Link zur bzip2Website aus dieser Zeit .

Hier ist der relevante Abschnitt, der diese und andere Unterschiede ausführlich beschreibt:

In welcher Beziehung steht es zu Ihrem vorherigen Angebot (bzip-0.21)?

bzip2 ist eine überarbeitete und überarbeitete Version von 0.21. Es sieht oberflächlich ziemlich ähnlich aus, wurde aber fast komplett neu geschrieben (mehrmals :-). Die wichtigen Unterschiede sind:

  • Patentfrei! (Ich hoffe; siehe Aussage oben). bzip-0.21 verwendete arithmetische Kodierung; bzip2 verwendet die Huffman-Codierung, die vom Patentstandpunkt aus allgemein als unproblematisch angesehen wird. Beide Programme basieren auf der Burrows-Wheeler-Transformation, sind aber meines Wissens auch nicht patentiert.

  • Schneller, besonders bei Dekompression. bzip2 dekomprimiert mehr als 50% schneller als 0,21, hauptsächlich aufgrund der Verwendung von Huffman-Codierung. Ich habe auch die Komprimierungsgeschwindigkeit verbessert, wenn auch nicht viel - vielleicht komprimiert es 30% schneller als 0,21.

  • Wiederherstellung nach Medienfehlern. Beide Programme komprimieren Daten in Blöcken, die standardmäßig 900 KB lang sind. Mit bzip2 wird jeder Block völlig unabhängig behandelt, trägt eine eigene Prüfsumme und wird durch eine 48-Bit-Sequenz begrenzt. Wenn Sie also eine beschädigte komprimierte Datei haben, kann bzip2 die komprimierten Blöcke extrahieren, feststellen, welche unbeschädigt sind, und diese dekomprimieren.

  • Testmodus. Sie können die Integrität komprimierter Dateien testen, ohne sie dekomprimieren zu müssen. Eigentlich hätte ich das auf 0,21 setzen sollen, war aber zu faul (+ ausgebrannt mit Hacking, als ich es veröffentlicht habe).

  • Besserer Umgang mit sich sehr wiederholenden Dateien. Solche Dateien sind für jeden Block-Sortierkompressor der schlimmste Fall. bzip2 läuft für solche Dateien ungefähr zehnmal schneller als 0.21.

  • Unterstützung für kleinere Maschinen. bzip2 kann jede Datei dekomprimieren, die es in 2300k erstellt, was bedeutet, dass Sie Dateien auf 4-Meg-Computern dekomprimieren können. Der maximale Speicherverbrauch während der Komprimierung verringert sich ebenfalls um ca. 900.000 gegenüber 0,21 auf ca. 6400.000.

  • Besseres Flaggenhandling. Insbesondere werden lange Flags (--like --this) unterstützt, was die Verwendung erleichtert.

  • Die einzeilige Startmeldung, die 0.21 gedruckt hat, ist weg. Dies war das am meisten beanstandete Merkmal von 0,21. Heutzutage nervt es mich sogar .

Ich verteile 0.21 nicht mehr, weil dies Probleme mit Patenten verursacht, was sicherstellt, dass das Programm niemals weit verbreitet wird. Das ist eine Schande, denn es ist ein nützliches Programm, und viele Leute scheinen es zu mögen. Wenn Sie bereits 0.21 verwenden, aktualisieren Sie bitte auf bzip2. Ich kann bzip2 leider nicht dazu bringen, die .bz-Dateien von 0.21 zu dekomprimieren, da dies die Patentvermeidung überflüssig machen würde. Ich weiß, dass das Ändern von Dateiformaten schmerzhaft ist. Ab sofort werde ich versuchen, weitere Änderungen rückwärtskompatibel vorzunehmen.

Dies ist auch ein Link zu einer reinen Dekomprimierungsversion des bzipQuellcodes für alle, die damit spielen möchten.

Graeme
quelle
5
Ich habe wahrscheinlich Original bzip auf einigen Backup-Archiven irgendwo. Früher habe ich es ausgiebig benutzt und fand den Wechsel zu bzip2 ärgerlich. Bei den meisten Dateien erzielte bzip ein besseres Komprimierungsverhältnis.
Jules