bzip vs gzip的优点和缺点?


121

我已经知道gzip多年了,最近我看到bzip被用于工作。它们基本上是等价的,还是其中一个对另一个有重大的利弊?


2
虽然这是一个有效且正确答案的老问题,但我想向人们指出这个谷歌的结果:tukaani.org/lzma/benchmarks.html因为它确实进一步分解了它
愤怒84年

压缩是不是bzip而归档是gzip?
juniorRubyist 2016年

@juniorRubyist来源?
ripper234 2016年

我刚才听到了。我忘了哪里。
juniorRubyist 2016年

Answers:


145

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档案。其他格式有免费实施,没有(严重)专利权利要求。


2
据我所知,自XP以来所有版本的Windows都可以使用文件explorern本地打开zip文件
Lie Ryan 2010年

22
@ new123456在OpenBSD上,gzip位于基本系统中,但必须从包中安装bzip2。许多* WRT路由器包括gzip但不包括bzip2。
吉尔斯

2
@Gilles我可以确认我的DD-WRT版本:08/12/10(SVN版本:14929)没有bzip2,但确实有gzip。
Urda

10
@mlainz原创研究。这不是维基百科。
Gilles 2016年

3
它似乎已经完全消失了 - 普通的老式bzip消失了,因为它使用的是专利的算法编码。由于该专利,它被重新设计为使用霍夫曼编码。在此重新设计期间,添加了新功能和改进。然而,Burrows-Wheeler变换在两个版本中保持相同的基本因素使它成为一种独特的压缩算法。
森林

24

据我所知,gzip总体上更快,而bzip整体产生更好(更小)的压缩。


此外,gzip似乎稍微受到支持,特别是在Windows上。
Dentrasi 2010年

5
@Dentrasi:winrar / 7zip支持两者,有什么问题?
whitequark 2010年

@whitequark:受到广泛支持对于unix来说非常重要,因为用户可能没有root访问权限,必须使用已安装的内容。也适用于用户没有管理员权限的Windows环境(学校/图书馆/等)。
马修

4
@Matthew,你不需要管理员权限就可以使用很多移植的免费软件,包括7zip。
whitequark

1
@IQAndreas:一些基准:123
烈瑞恩

5

算法具有不同的时间,内存,空间权衡。请记住,这些算法已经写了很长一段时间,而且你的智能手机的CPU比当时的台式机多了很多倍。

您的选择是在普遍性(.gz)和更多压缩(.bz2)之间。只有你可以说你更关心哪个。

.gz的一个优点是它可以压缩流,这是一个你无法看到后面的序列。这使它成为http流的官方压缩器。因此我需要使用gzip一次,但你不太可能需要考虑它。



1

根据我的经验,bzip提供了比gzip更好的压缩率。加上7zip作为管理器和bzip算法,7zip可以使用多核处理器。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.