私は非常に並列的なソフトウェアを実行しています。実行する必要のあるコマンドは互いにまったく依存しないものが約400あるので、それらをフォークして期待します。CPUが増えると、単位時間あたりに実行されるプロセスが増えることを意味します。
コード:
foreach cmd ($CMD_LIST)
$cmd & #fork it off
end
とてもシンプルです。これが私のテスト結果です:
1 CPUでは、これには1006秒、つまり16分46秒かかります。
10個のCPUを使用すると、これには600秒または10分かかりました。
なぜ時間がかかるのは(大まかに)10で割らないのですか?ここでだまされた気がする=(
編集-もちろん、私はあなたが知りたいと思う追加の詳細を提供したいと思っていますが、最も簡単な言葉でこれが私がしていることなので、何が関連しているかわからないだけです。