良く使うアーカイブについて簡単なベンチマークしてみました。
アーカイブの対象は、以下の通り
総サイズ: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>