在xz,gzip和bzip2之间,当压缩相当大的tarball时,哪种压缩算法可以提供最小的文件大小和最快的速度?
在xz,gzip和bzip2之间,当压缩相当大的tarball时,哪种压缩算法可以提供最小的文件大小和最快的速度?
Answers:
在压力测试中,我使用列出的三种格式压缩了464 MB的数据。Gzip返回了364 MB文件。Bzip2返回了315 MB的文件。Xz返回了254 MB的文件。我还做了一个简单的速度测试:
压缩:
1:Gzip
2:Xz
3:Bzip2(在此过程中,我的风扇吹了很多风,这表明我的Athlon II有点紧张)
减压:
1:Xz
2:Gzip
3:Bzip2
请注意,所有这些测试都是使用最新版本的7-Zip完成的。
Xz是全面压缩的最佳格式,而Gzip对于速度则非常好。Bzip2的压缩率不错,尽管xz可能应该用在它的位置。
bzip2 -9 <file>
?
我在1.1GB Linux安装vmdk映像上做了自己的基准测试:
rar =260MB comp= 85s decomp= 5s
7z(p7z)=269MB comp= 98s decomp=15s
tar.xz =288MB comp=400s decomp=30s
tar.bz2=382MB comp= 91s decomp=70s
tar.gz =421MB comp=181s decomp= 5s
最大压缩级别,CPU Intel I7 3740QM,内存32GB 1600,RAM磁盘上的源和目标
我通常使用rar或7z来归档普通文件(如文档)。
对于归档系统文件,我使用文件-roller或tar -.z或-J选项以及--preserve来使用.tar.gz或.tar.xz以及--preserve来使用tar本地压缩并保留权限(也可以使用.tar.7z或.tar.rar可以使用)
更新:由于tar只保留普通权限而不是ACL,因此还可以使用纯.7z加上通过getfacl和sefacl手动进行的备份和还原权限以及ACL,这似乎是文件归档或系统文件备份的最佳选择,因为它将充满保留权限和ACL,具有校验和,完整性测试和加密功能,唯一的缺点是p7zip并非在任何地方都可用
我认为这篇文章提供了非常有趣的结果。
http://pokecraft.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO
尺寸最有效的格式是xz和lzma,都传递了-e参数。
迄今为止最快的算法是lzop和lz4,它们可以在1.3秒内产生与gzip不太远的压缩级别,而gzip花费了8.1秒。lz4的压缩率为2.8,gzip的压缩率为3.7。
这是我从本文中提取的一些结果:
Gzip:8.1秒@ 3.7
lz4:1.3秒@ 2.8
xz:32.2秒@ 5.43
xz -e:6m40 @ 7.063
因此,如果您真的非常需要速度,lz4非常棒,并且仍然提供2.8的压缩比。
如果您迫切需要保留该字节,则在最大压缩级别(9)处的xz对于诸如内核源之类的文本文件将是最好的选择。但是,它很长,并且占用大量内存。
gzip是一个需要最大限度地减少对时间和空间的影响的好方法。这是我用来对生产环境进行日常日常备份的工具。