你了解 linux 下的压缩文件格式吗?bz2 和 gz 文件对比
.bz2和.gz都是linux下压缩文件的格式,有点类似windows下的.zip和.rar文件。
.bz2和.gz的区别在于,前者比后者压缩率更高,后者比前者花费更少的时间。也就是说同一个文件,压缩后,.bz2文件比.gz文件更小,但是.bz2文件的小是以花费更多的时间为代价的。
压缩实例:对一个599M的文件夹workspace进行压缩
bz2文件
time tar -jcvf j.tar.bz2 workspace/
340M 56.8%
real 13m20.975s
user 11m13.872s
sys 0m5.985s
gz文件
time tar -zcvf z.tar.gzworkspace/
348M 58.1%
real 2m10.305s
user 0m54.228s
sys0m7.399s
总结:
压缩后,.bz2文件只比.gz文件小了8M,但却花费了后者6倍多的时间。当然,压缩的比率,时间跟被压缩文件的格式,大小等因素有关。所以,本例不能说明使用gz比使用bz2更划算,但至少可以证明bz2比gz压缩率更高,gz比bz2花费更少的时间。


2 条评论:
据我了解,bzip2主要是基于BWT算法,这个算法对于文本的压缩效果比较好。而gzip是基于字典的算法,是比较通用的方法,对文本的压缩效果不如bzip2。楼主不妨再找一个比较大的文本文件试一下,相信bzip2的压缩率优势会比较明显。关于bzip2,可以参考wikipedia的条目:http://en.wikipedia.org/wiki/Bzip2
对的,bz2对文本类的有较大的压缩率,你说的不错。
发表评论
<< 主页