Benim uygulamada metin dosyaları olan günlükleri sıkıştırmak gerekir.
Görünüyor bzip2
ve gzip
aynı sıkıştırma oranına sahip.
Bu doğru mu?
Benim uygulamada metin dosyaları olan günlükleri sıkıştırmak gerekir.
Görünüyor bzip2
ve gzip
aynı sıkıştırma oranına sahip.
Bu doğru mu?
Yanıtlar:
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.
-1
, çok yavaş değil, ancak varsayılan ayarlarla, oldukça yavaş olma eğilimindedir.
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:
cmix
Detaylar:
Byron Knoll aktif geliştirme olduğunu cmix
kitabı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
lrzip
bir evrim olduğunu rzip
tarafından Con Kolivas .
lrzip
iki isim anlamına gelir: Uzun Menzilli ZIP ve Lzma RZIP .
lrzip
genellikle 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 zpaq
sü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
Belki bu ölçütlere , özellikle de günlük dosyaları sıkıştırmasını test eden kısma bir göz atabilirsiniz .
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/
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.
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.