題 bzip vs gzip的優點和缺點?


我已經知道gzip多年了,最近我看到bzip在工作中使用。它們基本上是等價的,還是其中一個相對於另一個有顯著的利弊?


108
2017-10-30 17:01


起源


雖然這是一個有效且正確答案的老問題,但我想向人們指出這個谷歌搜索結果: tukaani.org/lzma/benchmarks.html 因為它確實進一步分解了它 - Mayhem
是不是bzip壓縮和gzip存檔? - juniorRubyist
@juniorRubyist來源? - ripper234
我剛才聽到了。我忘了哪裡。 - juniorRubyist


答案:


Gzip和bzip2功能相同。 (曾經有一個bzip,但它似乎完全消失了世界的面貌。)其他常見的壓縮格式是zip,rar和7z;這三者同時進行壓縮和歸檔(將多個文件打包成一個)。以下是速度,可用性和典型壓縮比方面的一些典型評級(請注意,這些評級在某種程度上是主觀的,不要將它們視為福音):

decompression speed (fast > slow): gzip, zip > 7z > rar > bzip2
compression speed (fast > slow): gzip, zip > bzip2 > 7z > rar
compression ratio (better > worse): 7z > rar, bzip2 > gzip > zip
availability (unix): gzip > bzip2 > zip > 7z > rar
availability (windows): zip > rar > 7z > gzip, bzip2

如你所見,沒有一個明顯的贏家。如果你想依賴可能已經安裝的程序,請在Windows上使用zip(或者如果可能的話,使用自解壓檔案,因為Windows不附帶任何這些),並在unix上使用gzip。如果您想要最大壓縮,請使用7z。

Rar還有一個缺點,據我所知,沒有自由軟件可以創建rar檔案或者可以解壓縮所有rar檔案。其他格式有免費實施,沒有(嚴重)專利權利要求。


133
2017-11-01 23:43



據我所知,自XP以來所有版本的Windows都可以使用文件explorern本地打開zip文件 - Lie Ryan
bzip2 不太可用 gzip?什麼UNIX系統 別 伴隨 bzip2? - new123456
@ new123456在OpenBSD上,gzip在基本系統中,但必須從包中安裝bzip2。許多* WRT路由器包括gzip但不包括bzip2。 - Gilles
@Gilles我可以確認我的DD-WRT版本:08/12/10(SVN版本:14929)沒有bzip2,但確實有gzip。 - Urda
@mlainz原創研究。這不是維基百科。 - Gilles


據我所知,gzip總體上更快,而bzip整體產生更好(更小)的壓縮。


23
2017-10-30 17:14



此外,gzip似乎稍微受到支持,尤其是在Windows上。 - Dentrasi
@Dentrasi:winrar / 7zip支持兩者,有什麼問題? - whitequark
@whitequark:受到廣泛支持對於unix來說非常重要,因為用戶可能沒有root訪問權限,必須使用已安裝的內容。也適用於用戶沒有管理員權限的Windows環境(學校/圖書館/等)。 - Matthew
@Matthew,你不需要管理員權限就可以使用很多移植的免費軟件,包括7zip。 - whitequark
@IQAndreas:一些基準: 1, 2, 3 - Lie Ryan


算法具有不同的時間,內存,空間權衡。請記住,這些算法已經寫了很長一段時間,而且你的智能手機的CPU比當時的台式機多了很多倍。

您的選擇是在普遍性(.gz)和更多壓縮(.bz2)之間。只有你可以說你更關心哪個。

.gz的一個優點是它可以壓縮流,這是一個你無法看到後面的序列。這使它成為http流的官方壓縮器。因為這個原因,我需要使用gzip一次,但你不太可能需要考慮它。


4
2017-10-31 02:04





以下是測試壓縮算法的網站列表,要找到bzip和gzip,你將不得不進行一些挖掘,但大多數網站都會列出算法的特徵。這樣你就可以比較對你來說重要的東西,大小(壓縮比),時間,內存,cpu。
http://www.maximumcompression.com/benchmarks/benchmarks.php


3
2017-10-30 20:00





根據我的經驗,bzip提供了比gzip更好的壓縮率。加上7zip作為管理器和bzip算法,7zip可以使用多核處理器。


1
2017-10-30 17:06





http://tukaani.org/lzma/benchmarks.html ,gzip壓縮速度是bzip2的兩倍,並且解壓縮速度快十倍。

例如,對於s3緩存,travis等,你想要壓縮/解壓縮的速度,而不僅僅是小尺寸,gzip可能是一個很好的權衡。


1
2017-11-28 12:42