Etrafında birçok sıkıştırma algoritması vardır ve bzip2
en yavaşlarından biridir. Düz gzip
, genellikle çok daha kötü olmayan bir sıkıştırma durumunda, çok daha hızlı olma eğilimindedir. Hız en önemli olduğunda lzop
, favorim. Zayıf sıkıştırma, ama oh çok hızlı.
Paralel uygulamaları da dahil olmak üzere biraz eğlenmeye ve birkaç algoritmayı karşılaştırmaya karar verdim. Giriş dosyası, pg_dumpall
iş istasyonumdaki bir 1913 MB SQL dosyası olan komutun çıktısıdır . Donanım eski bir dört çekirdekli i5. Zamanlar sadece sıkıştırmanın duvar saatidir. Paralel uygulamalar, tüm 4 çekirdeği kullanacak şekilde ayarlanmıştır. Tablo sıkıştırma hızına göre sıralanır.
Algorithm Compressed size Compression Decompression
lzop 398MB 20.8% 4.2s 455.6MB/s 3.1s 617.3MB/s
lz4 416MB 21.7% 4.5s 424.2MB/s 1.6s 1181.3MB/s
brotli (q0) 307MB 16.1% 7.3s 262.1MB/s 4.9s 390.5MB/s
brotli (q1) 234MB 12.2% 8.7s 220.0MB/s 4.9s 390.5MB/s
zstd 266MB 13.9% 11.9s 161.1MB/s 3.5s 539.5MB/s
pigz (x4) 232MB 12.1% 13.1s 146.1MB/s 4.2s 455.6MB/s
gzip 232MB 12.1% 39.1s 48.9MB/s 9.2s 208.0MB/s
lbzip2 (x4) 188MB 9.9% 42.0s 45.6MB/s 13.2s 144.9MB/s
pbzip2 (x4) 189MB 9.9% 117.5s 16.3MB/s 20.1s 95.2MB/s
bzip2 189MB 9.9% 273.4s 7.0MB/s 42.8s 44.7MB/s
pixz (x4) 132MB 6.9% 456.3s 4.2MB/s 7.9s 242.2MB/s
xz 132MB 6.9% 1027.8s 1.9MB/s 17.3s 110.6MB/s
brotli (q11) 141MB 7.4% 4979.2s 0.4MB/s 3.6s 531.6MB/s
Sunucunuzun 16 çekirdeği, tümü sıkıştırma için kullanılabilecek kadar boşta ise pbzip2
, muhtemelen size çok önemli bir hızlanma sağlayacaktır. Ancak hala daha fazla hıza ihtiyacınız var ve ~% 20 daha büyük dosyalara katlanabilirsiniz gzip
, muhtemelen en iyi seçeneğiniz budur.
Güncelleme:brotli
Tabloya sonuçları ekledim (TOOGAM'ın cevabına bakınız). brotli
Ben üç ayar eklendi böylece s sıkıştırma kalitesi ayarı, sıkıştırma oranı ve hız üzerinde çok büyük bir etkisi vardır ( q0
, q1
ve q11
). Varsayılan q11
, ancak son derece yavaş ve hala daha kötü xz
. q1
olsa çok iyi görünüyor; aynı sıkıştırma oranı gzip
, ancak 4-5 kat daha hızlı!
Güncelleme:lbzip2
Tabloya eklenmiş (bkz. Gmathts yorum) ve zstd
(Johnny'nin yorumu) ve sıkıştırma hızına göre sıraladı. Sıkıştırma oranıyla üç kat daha hızlı baskı lbzip2
yaparak bzip2
aileyi tekrar koşuya sokar pbzip2
! zstd
Ayrıca makul görünüyor ama brotli (q1)
hem oran hem de hız ile yeniliyor.
Orijinal sonucum ova gzip
en iyi bahis olduğu sonucuna göre aptalca görünmeye başlıyor. Her yerde olmasına rağmen, yine de yenemezsin;)