xz、gzip、bzip2のうち、かなり大きなtarballを圧縮するときに、どの圧縮アルゴリズムが最小のファイルサイズと最高速を提供しますか?
xz、gzip、bzip2のうち、かなり大きなtarballを圧縮するときに、どの圧縮アルゴリズムが最小のファイルサイズと最高速を提供しますか?
回答:
ストレステストでは、リストされている3つの形式を使用して464メガバイトのデータを圧縮しました。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を使用します。
そして、システムファイルをアーカイブするために、-preserveとともに-zまたは-Jオプションとともにfile-rollerまたはtarで.tar.gzまたは.tar.xzを使用して、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.1s @ 3.7
lz4:1.3秒@ 2.8
xz:32.2s @ 5.43
xz -e:6m40 @ 7.063
そのため、本当に必死に速度が必要な場合、lz4は素晴らしく、2.8の圧縮率を提供します。
必死にバイトを節約する必要がある場合、最大圧縮レベル(9)のxzは、カーネルソースのようなテキストファイルに最適な仕事をします。ただし、非常に長く、多くのメモリを必要とします。
時間とスペースへの影響を最小限に抑えるために必要なのは、gzipです。これは、実稼働環境の毎日の手動バックアップを作成するために使用するものです。