最近になって、 GNU Coreutils の split(1) に --filter ってオプションがあり、入力を並列処理する方法の1つになることを知りました*1。 並列処理をしたいときに使うものとして GNU Findutils の xargs(1) -P, --max-procs (おそらく GNU 拡張) と、そのままの GNU parallel があります。サーバ管理で並列にログインしてなんかやる系だともっと多くのバリエーションが有るでしょうが、 synax sugar の域を超えないのでここでは考えません。 尤も split も本来の目的がちょっと違うので同じように比較するのはおかしいんですが、思ったより効率が良いようなので試してみました。 環境は SunOS, Xeon E5-2630 v3 @ 2.40GHz の 2 socket で 32 threads というとこです。
プログラムを並列処理する GNU Parallel というプログラムがある。このプログラムの作者 Ole Tange が usenix February 2011, Volume 36, Number 1 に “The Command-Line Power Tool” という記事を書いていたので読んでみた。6ページで GNU Parallel の主要機能がひと通り解説されているので、GNU Parallel の機能をピンポイントでしか知らない人(=自分)が読むと、いろいろと使いどころが湧いて来ると思う。 GNU Parallel: The Command-Line Power Tool February 2011, Volume 36, Number 1 Authors: Ole Tange https://www.usenix.org/publications/login/februar
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く