shell

tar, pax, darのベンチマーク

良く使うアーカイブについて簡単なベンチマークしてみました。
アーカイブの対象は、以下の通り
総サイズ:33,030,144 byte
総ファイル数:5,148個(ファイル=1,946, ディレクトリ=3,186, シンボリックリック=16)

アーカイブ方式 サイズ(byte) アーカイブにかかった時間(s) 圧縮率 単位時間当たりに圧縮できるサイズ(MB/s)
tar 16,281,600 0.25 49% 126.0
targz 9,263,442 1.04 28% 30.3
tarbz2 8,706,244 4.69 26% 6.7
pax 16,281,600 0.78 49% 40.4
paxgz 9,260,991 1.49 28% 21.1
paxbz2 8,717,847 5.18 26% 6.1
dar 13,191,132 1.04 40% 30.3

もう少しアーカイブ対象を変えて結果を検証する必要があります。
paxのアーカイブ形式は、デフォルトではtar形式ですが、tarコマンドと比べてアーカイブに約3倍の時間がかかります。体感でも少し遅いと感じます。
darコマンドは、アーカイブコマンドと言うよりバックアップコマンドなので圧縮率は、比較してもあまり意味がありません。
フル/差分/増分のバックアップが作成できるので、うまく設計すれば大抵のバックアップ要件を満たしてくれます。
paxも差分を作ることができますが、darではファイルの削除についても管理できるところが優れています。
darで3GBのデータをバックアップする予定ですが、予想では、100秒程度の時間がかかり1.7GBに圧縮されるでしょう。

※実際には約7分かかりました。バックアップ対象のファイルがJPEGやMPEG4だったので、まったく圧縮されませんでした。

C:\Users\ksaito>backup-pub.bat
start 2007/12/23 02:47
C:\Users>dar -c backup\pub -R .\Public -g Videos -g Pictures
--------------------------------------------
3276 inode(s) saved
with 0 hard link(s) recorded
0 inode(s) changed at the moment of the backup
0 inode(s) not saved (no inode/file change)
0 inode(s) failed to save (filesystem error)
14 inode(s) ignored (excluded by filters)
0 inode(s) recorded as deleted from reference backup
--------------------------------------------
Total number of inode considered: 3290
--------------------------------------------
fin 2007/12/23 02:54
C:\Users>
タイトルとURLをコピーしました