マルチプロセスで圧縮するpigzをatoolから使う


pigzはgzipをマルチスレッドで行ってくれるツール。
pigzのインストールは

$ pacman -S pigz

atoolという圧縮解答のラッパーツールを使用するので、これもインストール

$ pacman -S atool

atoolのmanによると、~/.atoolrcに次のように書き込めば、シングルプロセスのgzipではなく、マルチプロセス使って圧縮したpigz使ってくれる。

~/.atoolrc
use_tar_z_option 0
use_pigz 1

2.4GBのh5形式のファイルを普通のgzipとpigzで圧縮してみた時の差は次の表

コマンド 実行時間
tar + gz 4:42.37
tar + pigz 1:23.81
gzip_vs_pigz_use_atool
# gzip使用
$ apack someting_mean.tar.gz someting_mean.h5
237.50s user 27.97s system 94% cpu 4:42.37 total

# pigz使用
$ apack someting_mean.tar.gz someting_mean.h5
246.75s user 38.13s system 339% cpu 1:23.81 total

~/.atoolrcに設定を書き込むので、実行するコマンドは同じです。

実行時間が3分18秒早くなった!3倍超の速度で処理してくれた!!