BLOGTIMES
2013/01/07

マルチコアで gzip する

  cli 
このエントリーをはてなブックマークに追加

大きなファイルを gzip していたところ、コアを1つしか使ってくれなくて不満だったので、 gzip 互換でマルチコア対応している pigz というコマンドをインストールしてみました。

pigz - Parallel gzip

pigz, which stands for parallel implementation of gzip, is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data.

インストールしてみる

さっそくインストールします。基本的には make して、ファイルコピーするだけですが一応手順を書いておきます。
最後の paco はソースからインストールしたファイルを管理する仕組み*1なので、 paco を使っていない場合は普通に /usr/local/bin にバイナリをコピーするだけで大丈夫です。

$ wget http://zlib.net/pigz/pigz-2.2.5.tar.gz $ tar zxvf pigz-2.2.5.tar.gz $ cd pigz-2.2.5 $ make $ su - # paco -D cp pigz unpigz /usr/local/bin

使い方は gzip と同じ

基本的な使い方はgzip と同じで、 p オプションでスレッド数が指定できるようになっています。
よくある tar と組み合わせて使うパターンだとこんな感じでしょうか。

tar c hoge | pigz -p 8 > hoge.tar.gz

正確なベンチとっていないので良くわかりませんが、1コアのときよりは早くなっていると思います。


トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/5492
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン