回答:
デフォルトはgz
です。7z
しかし、私が得た最高の結果。
1.4 Gbのvirtualboxコンテナの結果は次のとおりです。
最高の圧縮– MB単位のサイズ:
7z 493 rar 523 bz2 592 lzh 607 gz 614 Z 614 zip 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のデフォルトの圧縮ツールです。それは高速であり、その古さにもかかわらず、ソースコードのようなテキストファイルを圧縮するのに非常に良い結果をもたらします。もう1つの標準ツールはですがbzip2
、はるかに低速です。
追加: lrzipはより新しく、rzipの原則を拡張します。無制限のブロックサイズ、および圧縮方法の選択(LZMA、Bzip2、Gzip、LZO、ZPAQまたはなし)もサポートしています。LZMAが標準です。バックアップや、他のLinux / BSDユーザーと多くのデータを共有する場合、非常に便利です。
を選択しますLZMA
。バイトオーバーヘッドが最も小さく、圧縮率が高くなっています。ZIPとLZMAの比較:seq.txt
PHPコードで2つのファイルを生成しました
$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が勝ちます!