タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

xargsとparallelに関するU1and0のブックマーク (2)

  • xargs を使ってカジュアルに並列処理 - たごもりすメモ

    シェルからでも重い処理というのはちょこちょこあって、例えば超デカいログファイルを移動して圧縮したりというお仕事は世界中のあらゆる場所で毎日行われていたりする。コマンドラインからでも大量の圧縮済みログファイルをいっぺんに展開したい、とか。 あるディレクトリ以下に存在するたくさんのファイルを(圧縮済みのものを除いて)全部 bzip2 圧縮したい!と思ったら、とりあえずさくっと次のようにコマンドラインで叩けばいい。 $ find . -not -name '*.bz2' | xargs bzip2 これで、まあそんなに問題なく効率的にbzip2圧縮ができる。だがしかし。 最近は複数コアのCPUが普通に転がってるし、あまつさえHyperThreadingが有効になってたりしてOSから見える論理CPU数がハンパない。普通に8とかある。その一方で複数コアを使用してくれるコマンドというのはあんまりなくて

    xargs を使ってカジュアルに並列処理 - たごもりすメモ
    U1and0
    U1and0 2019/06/29
    xargs -L 引数上限 -P コア数 として使用する。-P0で最大まで使うとOS動かなくなっちゃうから重い処理には使わない。 -L指定しないと引数が5000とか1万とか越えない限りパラレルに実行してくれない
  • GNU parallel でコマンドを並列実行する - それマグで!

    コマンドを並列実行したい時があります。 たとえば、たくさんの画像を変換したり、動画を変化したりなどジョブを大量に起動することをしたいとき コマンド実行中もマルチコアのCPUが余っててもったいなーって思います。i7などは4コア2スレッドの8CPU有りますからね。 またruby などはGIL ( global interpreter lock )で上限ストップがかかってたり。 普段は xargs 並列実行は xargs を使ってます。 find | xargs -P0 GNU parallel というものを見つけた GNU Parallel を使うと並列実行が可能になるということを知りました。 早速インストール brew install parallel sudo apt install parallel prallel の特徴 並列実行したいコマンドと並列実行したいファイルを引数を指定する。

    GNU parallel でコマンドを並列実行する - それマグで!
    U1and0
    U1and0 2019/06/29
    コマンドによってはparallelよりもxargsの方が早い(し使いやすいしなんといってもどこにでもある)
  • 1