xargsで並列処理してCPUを100%使い切ろう

このエントリーをはてなブックマークに追加
はてなブックマーク - xargsで並列処理してCPUを100%使い切ろう
LINEで送る
Pocket

背景

  • 6000枚の画像を一括変換したかったので。
  • 普通にmogrifyを打つだけだと1プロセスなので1コアしか使ってくれないです。
  • 最近のPCは1コアの周波数を低めにして、多くのコアを積んで処理の高速化を行っているので、全然遅いです。

アプローチ

  • ちゃんと全てのコアを使い切って変換をする必要があります。
  • xargsコマンドを使うと並行処理を簡単に行えます。-Pで並列数、-nで1コマンド辺りの引数の数を指定します。-nは無くても良いですが1コマンドの起動コストを減らすために指定してあげるのが良いです。
  • ファイル名に半角スペースが入っている場合があるので、find側に-print0オプションと、xargs側に-0オプションを指定しています。

このエントリーをはてなブックマークに追加
はてなブックマーク - xargsで並列処理してCPUを100%使い切ろう
LINEで送る
Pocket

matsubokkuri

Please feel free to contact me via e-mail, twitter and facebook!

あわせて読みたい

コメントを残す