C ++で再利用可能な実行パイプラインライブラリ(ジョブスケジューラライブラリ?)を探していました。Boost内に何も見つかりませんでした。それで私は最終的に2つの候補を見つけました:
他の候補者がいませんか?誰かがそれらを使用しましたか?並列ioとマルチスレッドに関してどれくらい優れていますか?これらのライブラリには、依存関係の処理がまだ不足しているようです。たとえば、次のようなものをどのように書くかは私にはわかりません。
$ cat /dev/urandom | tr P Q | head -3
この非常に単純なケースでは、パイプラインはボトムアップでウォークされ、プロセスがプルをcat
停止すると、最初のパイプラインは実行を停止します。head
ただし、次のような場合に、マルチスレッドやパラレルIOからどのようにメリットが得られるかわかりません。
$ cat /raid1/file1 /raid2/file2 | tr P Q > /tmp/file3
私が言う方法はありませんtr
。8つのプロセッサが利用可能な場合、7つのスレッドで実行します。