Answers:
默认值为gz
。我得到的最好的结果7z
。
这是一个1.4 Gb virtualbox容器的结果:
最佳压缩-以MB为单位的大小:
7z 493 523拉尔 第592章 lzh 607 gz 614 Z 614 拉链614 .arj 615 lzo 737 动物园890
安装
sudo apt-get install p7zip-full
/dev/urandom
:每次尝试都会得到不同的结果。或尝试/dev/zero
:bzip2是赢家(按比例)。
这个问题很老,但是也许有人觉得这个解决方案有用:
使用rzip
后tar
。它首先使用字典方法压缩900 MB的大数据块,然后将清理后的数据移交给bzip2
。它比其他强压缩工具(快得多bzip2
,lzma
),和一些文件中,压缩比更好bzip2
或lzma
。
是的,它gz
是Linux上的默认压缩工具。它速度很快,并且尽管年代久远,但在压缩文本文件(如源代码)方面仍能提供很好的效果。另一个标准工具是bzip2
,尽管速度慢得多。
另外: lrzip是更新的,并且扩展了rzip的原理。它甚至支持无限的块大小,并支持多种压缩方法(LZMA,Bzip2,Gzip,LZO,ZPAQ或无)。LZMA是标准。对于备份或如果您与其他Linux / BSD用户共享大量数据,可以非常方便。
我选择一个LZMA
。它具有最小的字节开销,并且具有很强的压缩率。ZIP和LZMA之间的比较:我已经seq.txt
用PHP代码生成了两个文件
$s = '0123456789'; $str = ''; for ($i=0; $i < 1000000; $i++) $str .= $s[$i%10].($i%10==9 ? "\n":""); file_put_contents('seq.txt', $str);
它包含0..9位数〜1Mb的重复数据块和rnd.txt
PHP代码
$s = '0123456789'; $str = ''; for ($i=0; $i < 1000000; $i++) $str .= $s[rand(0,9)].($i%10==9 ? "\n":""); file_put_contents('rnd.txt', $str);
其中包含0..9位数〜1Mb数据的随机块。
压缩结果:
压缩率:
因此,LZMA压缩顺序数据的效率比ZIP高0.2%
,随机数据的效率比ZIP高2.8%。
当然LZMA会赢!