Linux'ta metin dosyalarını sıkıştırmak için hangi arşivleme yöntemi daha iyidir?


17

Benim uygulamada metin dosyaları olan günlükleri sıkıştırmak gerekir.

Görünüyor bzip2ve gzipaynı sıkıştırma oranına sahip.

Bu doğru mu?


xz (xz-tools'dan veya p7zip'ten 7z, lzma'ya çok benziyor) en iyisidir. bzip2, gzip'ten daha iyidir.
osgx

Yanıtlar:


5

Normalde, bz2 daha iyi geri kazanılabilirlik özellikleriyle birlikte daha iyi bir sıkıştırma oranına sahiptir.

OTOH, gz daha hızlıdır.

xz'nin bz2'den daha iyi olduğu söyleniyor, ancak zamanlama davranışını bilmiyorum.


xz, bzip2'den daha yavaştır.
osgx

xz sadece daha yavaş değil, aynı zamanda çok daha yavaş, 300 mb dosyasının bzip2'nin sıkıştırması yaklaşık 30 saniye sürdü. Xz'i 5 dakikadan daha uzun süre sıkıştırdıktan sonra öldürdüm
Tebe

@ Копать_Шо_я_нашел Bence bu büyük ölçüde seçtiğiniz sıkıştırma seviyesine bağlı. İle -1, çok yavaş değil, ancak varsayılan ayarlarla, oldukça yavaş olma eğilimindedir.
glglgl

7

Maximumcompression.com'un son güncellemesi Haziran 2011'dir (yanıt Ekim 2015'te güncellenmiştir)
Bu nedenle bu web sitesi dünya çapında
mevcut şampiyon metin kompresöründen bahsetmiyor :

      cmix

Yarışmalar / Testleri:

Detaylar:
Byron Knoll aktif geliştirme olduğunu cmixkitabına dayanan 2013 yılından bu yana libre yazılım (GPL) olarak Veri Sıkıştırma Açıklaması tarafından Matt Mahoney . Matt Mahoney ayrıca yukarıdaki kriterlerden bazılarını korur ve artımlı arşivleyici komut satırı ZPAQ ( WP ) önerir .


Daha standart bir araç (daha az RAM gerektirir) tercih ediyorsanız şunu öneririm:

      lrzip

lrzipbir evrim olduğunu rziptarafından Con Kolivas .
lrzipiki isim anlamına gelir: Uzun Menzilli ZIP ve Lzma RZIP .
lrzipgenellikle daha iyidir xz(başka bir popüler sıkıştırma aracı).
Alexander Riccio da önerir lrzip.


Benim favorim:

      zpaq

"Arşiv uzmanı" , Matt Mahoney , yoğun çalıştı KDA on yıldır algoritmalar ve CPU / bellek kaynakları ve sıkıştırma seviyesi arasındaki en iyi uzlaşma sağlarlar.

Ancak, son zpaqsürüm genellikle son dağıtımda paketlenmez / mevcut değildir :-( Yeni bir makinem
olduğunda her zaman kaynaklardan derlerim ve çok iyi bir kompresöre ihtiyacım var: https://github.com/zpaq/zpaq

clone https://github.com/zpaq/zpaq
cd zpaq
g++ -O3 -march=native -Dunix zpaq.cpp libzpaq.cpp -pthread -o zpaq


1

Aşağıdaki sıkıştırmak için test etmek için bir kriter yaptık:
204MB klasör (1.600 html dosyaları ile)
sonuçları

7zip =>     2.38 MB
winrar =>   49.5 MB
zip =>      50.8 MB
gzip =>     51.9 MB

7zip aralarından en iyisi buradan alabilirsiniz
http://www.7-zip.org/


0

bz2 daha sıkı sıkıştırmaya sahiptir, algoritmanın sıkıştırmak için artıklık aramak için daha fazla seçeneği vardır.

gzip çok daha fazla araçta ve daha çok çapraz platformda. Daha fazla Windows aracı .gz dosyaları ile başa çıkabilir. Bu http'nin bir parçasıdır, bu yüzden web tarayıcıları bile bunu anlayabilir.

Linux'ta, sıkıştırılmış dosyalar üzerinde doğrudan çalışmanıza izin veren araçlar vardır. zgrep ve bzgrep sıkıştırılmış dosyalarda arama yapabilir.

Sadece Linux'ta olsaydım, biraz daha iyi sıkıştırma oranları için bzip2 kullanırdım.


0

xz, bz2'den çok daha iyi sıkıştırır, ancak daha fazla zaman alır. Bu nedenle, maksimum sıkıştırma hedefiniz ve sabit diskinizdeki alan bir prim ise (% 98 dolu bir disk ile durumum - dosya sistemlerimi yeniden düzenlerken) ve işi yapmak için bir komut dosyasını kapatabilirsiniz - bir ara verin ve 5 dakika içinde geri gelin.

unxz benim deneyimimden sıkıştırmak için çok hızlı - bu benim için günlük olarak iyi bir şey.

bz2'nin sıkıştırılması xz'den daha hızlıdır, ancak xz'nin sıkıştırma sonuçlarına ulaştığı görülmemektedir.

Bu değerlendirmeleri yapmanın tek yolu, normalde sıkıştıracağınız / açacağınız bir dizi ortak dosyaya karşı karşılaştırmalar yapmak ve hangisinin en üstte çıktığını görmek için parametreleri değiştirmektir.

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.