ファイルの圧縮・伸張
Windows上ではファイルの圧縮伸張ツールに7zipを使っています。
UNIX(Linux)上では、今まではgzipまたはbzip2を使っていました。bzip2の方が圧縮率が高いです。
ところが、さいきんxzなるツールが広まっています。tarのオプションでもxz圧縮をするJオプションが使えるようになってきました。
このxzは、7zipと同じ圧縮アルゴリズムLZMAを使います。
試しに、今日ビルドしたruby-2.0.0p247のRPMを圧縮比べしてみました。
ファイル | 元サイズ | xz圧縮サイズ | bzip2圧縮サイズ |
---|---|---|---|
ruby-2.0.0p247-1.el6.x86_64.rpm | 20,574,440 | 18,407,472(6.3秒) | 18,515,797(3.7秒) |
返答 (2)
圧縮に対して差がないのでは? - 高橋 徹 さんが約11年前に追加
上述の結果を見る限り、xzとbzip2とほとんど差がないように見えますが、一方でxzはすごいという声も聞きます。
どうなのでしょうか?
大きなファイルの圧縮でxzとbzip2を比較しました - 高橋 徹 さんがほぼ11年前に追加
CentOS 6上でqcow2形式のKVMイメージファイルを圧縮したときのサイズと時間を比較しました。
ファイル | 元サイズ | xz圧縮サイズ(処理時間) | bzip2圧縮サイズ(処理時間) | 備考 |
---|---|---|---|---|
centos6minimal.img | 1,298,268,160 | 222,271,536(362秒) | 297,550,550(104秒) | |
centos65minimal.img | 8,600,420,352 | 183,091,912(869秒) | 246,758,146(194秒) | クラスタサイズ2MB, perallocation=metadataで作成 |
centos6_alfa.img | 18,090,819,584 | 3,644,322,412(4947秒) | 4,381,449,849(1612秒) |
ということで、XZが20%ほど圧縮効率が高いが圧縮にかかる時間は3倍という傾向を示しています。