Xz, gzip ve bzip2 arasında en etkili sıkıştırma algoritması hangisidir?


16

Xz, gzip ve bzip2 arasında, hangi sıkıştırma algoritması oldukça büyük tarballları sıkıştırırken en küçük dosya boyutunu ve en yüksek hızı verir?


'en iyi' en küçük dosya boyutu ile sonuçlanan?
Hennes

Bilmiyorum, soruyu söyleyecek bir yol bulmaya çalışıyordum, böylece testimi cevap olarak ekleyebildim. Bu şeyin neden kapatıldığını da bilmiyorum. @Karan
Nathan2055

1
Oh, neden bu kadar kolay kapatıldı. "En iyi" oldukça özneldir ve genellikle tartışmalara veya yapıcı olmayan cevaplara yol açar. En iyi sıkıştırma en küçük dosya boyutu, en hızlı sıkıştırma, sıkıştırmak için kullanılan en az güç (örneğin bir dizüstü bilgisayarda), sıkıştırma sırasında sistem üzerinde en az etki (ör. Yalnızca çekirdeklerden birini kullanan eski tek işlenmiş programlar), ... veya bir kombinasyon olabilir. tüm bunlardan.
Hennes

Okumak için ilginç bir makale tomshardware.com/reviews/winrar-winzip-7-zip-magicrar,3436.html (windows tabanlı ve xz, gz veya bz yerine 7zip, magicRAR, WinRAR ve WinZip'e odaklanıyor, ancak yine de ilginç ve arka plan bilgileri sağlama).
Hennes

@Hennes - En iyi araştırdığım şeyle değiştirmek için gönderiyi temizledim. Ayrıca, bahsettiğiniz makale için teşekkürler, bugün daha sonra okuyacağım.
Nathan2055

Yanıtlar:


15

Stres testimde, listelenen üç biçimi kullanarak 464 megabayt veri sıkıştırdım. Gzip 364 MB bir dosya döndürdü. Bzip2 315 MB bir dosya döndürdü. Xz, 254 MB bir dosya döndürdü. Ayrıca basit bir hız testi yaptım:

Sıkıştırma:

1: Gzip

2: Xz

3: Bzip2 (bu devam ederken fanım biraz esiyordu, bu da Athlon II'nin oldukça gergin olduğunu gösteriyor)

Baskıyı azaltma:

1: Xz

2: Gzip

3: Bzip2

Tüm bu testlerin en son 7-Zip sürümü ile yapıldığını lütfen unutmayın.

Xz, çok yönlü sıkıştırma için en iyi formattır, Gzip ise hız için çok iyidir. Bzip2, sıkıştırma oranı açısından iyidir, ancak xz muhtemelen yerinde kullanılmalıdır.


2
İyi araştırma. (En azından) bzip2 tarafından sunulan çeşitli sıkıştırma seviyesi seçeneklerini denediniz bzip2 -9 <file>mi?
Aaron Miller

@AaronMiller - Hayır, bunları 7-Zip ile kullanmak mümkün mü?
Nathan2055

Öyle görünüyor ki, ne ölçüde emin değilim: bkz. Dotnetperls.com/7-zip-examples , bölüm "Anahtar m".
Aaron Miller

7
Meraktan, test dosyası ne tür verilerdi?
GeminiDomino

Farklı veri türlerinin farklı sıkıştırılmış boyutlarla sonuçlanacağını unutmayın. Örnekler için buraya bakın .
Ploni

4

1.1GB Linux kurulum vmdk görüntüsü üzerinde kendi karşılaştırmamı yaptım:

rar    =260MB   comp= 85s   decomp= 5s
7z(p7z)=269MB   comp= 98s   decomp=15s
tar.xz =288MB   comp=400s   decomp=30s
tar.bz2=382MB   comp= 91s   decomp=70s
tar.gz =421MB   comp=181s   decomp= 5s

maksimum tüm sıkıştırma seviyeleri, CPU Intel I7 3740QM, Bellek 32GB 1600, RAM diskte kaynak ve hedef

I Belgeler gibi normal dosyaları arşivlemek için genellikle rar veya 7z kullanın.
ve sistem dosyalarını arşivlemek için .tar.gz veya .tar.xz dosyasını -z veya -J seçenekleriyle birlikte dosya silindiri veya katran ile kullanıyorum. .tar.rar kullanılabilir)

güncelleme: tar sadece normal izinleri koru ve ACL'leri yine de koru, ayrıca düz .7z plus yedekleme ve geri yükleme izinleri ve getfacl ve sefacl aracılığıyla manuel olarak ACL'ler kullanılabilir, bu da hem dosya arşivleme hem de sistem dosyaları yedekleme için en iyi seçenek gibi görünüyor çünkü tam olacak izinleri ve ACL'leri korumak, sağlama toplamı, bütünlük testi ve şifreleme yeteneği vardır, sadece olumsuz tarafı p7zip'in her yerde mevcut olmamasıdır


Öğrenci, rar seçenekleri neydi? Neden lrzip'i kolivas ile denemiyorsunuz , sanal disk görüntüleri için iyi çalışmalı.
osgx

RAR'dan Git'e ve metin dosyalarım için tarball'lara ve diğer her şey için btrfs'ye geçiyorum; RAR'ı kullanma nedenim performans değil, kurtarma kaydı, her dosya için ayrı dosya düzeyinde 256bit sağlama toplamı ve ... gibi özellikler nedeniyle kullanıyorum.
Sudoer

3

Bu makalenin çok ilginç sonuçlar verdiğini düşünüyorum.

http://pokecraft.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO

En büyük boyut etkin biçimler xz ve lzma şeklindedir ve her ikisi de -e parametresi geçmiştir.

En hızlı algoritma, lzop ve lz4'tür ve gzip 8.1 saniye sürerken 1.3 saniyede gzip'ten çok uzak olmayan bir sıkıştırma seviyesi üretebilir. Sıkıştırma oranı lz4 için 2.8 ve gzip için 3.7'dir.

İşte bu makaleden çıkardığım birkaç sonuç:

  • Gzip: 7,1 @ 3,7

  • lz4: 1.3s @ 2.8

  • xz: 32,43 @ 5,43

  • xz -e: 6m40 @ 7.063

  • xz: 4m51s @ 7.063

Bu yüzden gerçekten çaresizce hıza ihtiyacınız varsa, lz4 harika ve yine de 2,8 sıkıştırma oranı sağlar.

Baytın umutsuzca yedeklenmesi gerekiyorsa, maksimum sıkıştırma düzeyinde (9) xz, çekirdek kaynağı gibi metin dosyaları için en iyi işi yapar. Ancak, çok uzun ve çok fazla bellek gerekiyor.

Zaman ve alan üzerindeki etkiyi en aza indirgemek için gereken yerlerde iyi bir gzip. Bu, bir üretim ortamının manuel günlük yedeklemelerini yapmak için kullanacağım.

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.