bzip 與 gzip 的優缺點?

bzip 與 gzip 的優缺點?

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

答案1

Gzip 和 bzip2 以及 xz 和 lzop 在功能上是等效的。 (曾經有過 bzip,但它似乎已經完全從世界上消失了。)其他常見的壓縮格式有 zip、rar 和 7z;這三個檔案同時進行壓縮和歸檔(將多個檔案打包為一個)。以下是一些關於速度、可用性和典型壓縮比的典型評級(請注意,這些評級有些主觀,不要將它們視為福音):

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

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

非 Unix 本機格式(zip、rar、7z)不保留所有 Unix 元資料(所有權、權限)。如果需要,請使用壓縮的 tar。

Rar 也有缺點,據我所知,沒有開源軟體可以建立 rar 存檔或可以解壓縮所有 rar 檔案。其他格式有免費的實現並且沒有(嚴重的)專利聲明。

答案2

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

答案3

這些演算法有不同的時間、記憶體、空間權衡。請記住,這些演算法是很久以前編寫的,您的智慧型手機的 CPU 比當時的桌上型電腦多很多倍。

您可以在通用性 (.gz) 和稍微壓縮一點的 (.bz2) 之間進行選擇。只有你自己才能說你更關心哪一個。

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

答案4

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

例如,與 s3 快取一起使用,在 travis 等上,如果您想要壓縮/解壓縮的速度,而不僅僅是小尺寸,gzip 可能是一個很好的權衡。

相關內容