Bzip1'e ne oldu?


40

bzip2 zaten uzun yıllar boyunca oldukça güçlü sıkıştırma için fiili bir standart olmuştur. Ben kendim bzip2komutunu bugüne kadar binlerce kez yazmıştım, bu beni meraklandırıyor - bzip veya bzip1'e ne oldu? Google bana bundan fazla bahsetmiyor gibi görünüyor ve ilginç bir tarih dersi olmuş gibi görünüyor.

Yanıtlar:


32

Orijinalin bzip, 1998'de kullanılan aritmetik sıkıştırma ile ilgili patent sorunları nedeniyle çekildiği anlaşılıyor . Bir miktar kazma (gerçekten sadece Wikipedia'yı okuyan) bzip2bu zamana kadar web sitesine arşivlenmiş bir bağlantı ortaya çıkarıyor .

İşte bu ve diğer farklılıkları detaylandırmak için ilgili bölüm:

Önceki teklifinizle nasıl bir ilgisi var (bzip-0.21)?

bzip2, 0.21'in yeniden yazılmış ve yeniden tasarlanmış versiyonudur. Yüzeysel olarak oldukça benzer görünüyor, ancak neredeyse tamamen yeniden yazıldı (birkaç kez :-). Önemli farklılıklar:

  • Patenti içermeyen! (Umarım; yukarıdaki ifadeye bakınız). bzip-0.21 kullanılan aritmetik kodlama; bzip2, genellikle patent açısından problemsiz olarak kabul edilen Huffman kodlamasını kullanır. Her iki program da Burrows-Wheeler dönüşümüne dayanıyor, ancak bildiğim kadarıyla bu da patentli değil.

  • Özellikle dekompresyonda daha hızlı. bzip2, çoğunlukla Huffman kodlaması nedeniyle, 0.21'den% 50'den daha hızlı bir şekilde açılır. Sıkıştırma hızını da arttırdım, bu kadar olmasa da - belki de 0.21'den% 30 daha hızlı sıkıştırıyor.

  • Medya hatalarından kurtarma. Her iki program da verileri varsayılan olarak 900k uzunluğunda bloklar halinde sıkıştırır. Bzip2 ile, her blok tamamen bağımsız olarak ele alınır, kendi kontrol toplamını taşır ve 48 bitlik bir sekansla sınırlandırılır. Bu nedenle, zarar görmüş bir sıkıştırılmış dosyanız varsa, bzip2 sıkıştırılmış blokları çıkarabilir, hangilerinin zarar görmediğini tespit edebilir ve bunları açabilir.

  • Test modu. Sıkıştırılmış dosyaların bütünlüğünü, sıkıştırması açmadan test edebilirsiniz. Bunu 0.21'e koymam gerekirdi, gerçekten, ama çok tembeldi (+ yayımladığımda hacklenerek yakıldı).

  • Çok tekrarlayan dosyaları çok daha iyi işler. Bu tür dosyalar herhangi bir blok sıralama kompresörü için en kötü durumdur. bzip2 bu dosyalar için 0.21'den yaklaşık on kat daha hızlı çalışır.

  • Küçük makineler için destek. bzip2, 2300k'de oluşturduğu herhangi bir dosyayı açabilir, bu, 4 megaparklardaki dosyaları açabilir. Sıkıştırma sırasında en yüksek bellek kullanımı, 0.21 ile karşılaştırıldığında yaklaşık 900k, yaklaşık 6400k'a düşürülür.

  • Daha iyi bayrak kullanımı. Özellikle, uzun bayraklar (- benzeri - bu) desteklenir ve bu da kullanımını kolaylaştırır.

  • 0.21 basılan bir satırlık başlangıç ​​mesajı kayboldu. Bu 0,21 en çok şikayet edilen özelliği oldu. Bugünlerde bile beni rahatsız ediyor .

Ben artık 0.21 dağıtmıyorum, çünkü bunu yapmak, patentin problemlerini sürdürür ve bu da programın asla yaygın olarak kullanılmamasını sağlar. Bu utanç verici çünkü faydalı bir program ve birçok insan hoşuna gidiyor gibi görünüyor. Eğer zaten 0.21 kullanıyorsanız, lütfen bzip2'ye yükseltin. Maalesef, bzip2'nin 0.21'in .bz dosyalarını açmasını sağlayamam, çünkü bu patentten kaçınma alıştırmasını anlamsız hale getirecektir. Dosya formatlarını değiştirmenin acı verici olduğunu biliyorum; bundan sonra geriye doğru uyumlu bir şekilde daha fazla değişiklik yapmaya çalışacağım.

Aynı zamanda , onunla oynamak isteyen herkes için kaynak kodun yalnızca bir sürümünün bir dekompresyonu için bir bağlantıdırbzip .


5
Muhtemelen bir yerlerde bazı yedekleme arşivlerinde orijinal bzip var. Çok kullanırdım ve bzip2'yi sinirlendiren anahtarı buldum. Çoğu dosyada, bzip daha iyi bir sıkıştırma oranı elde etti.
Jules

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.