2011-11-01 15 views
0

ユーザーは「すべて変換」機能を開始しました。これは、それぞれの項目に対して別々のプロセスを実行する必要があります。プロセスのバッチを実行:非同期または連続?

推奨される方法は、1つずつ順番に変換するか、すべてのプロセスを同時に動作させるアイテムごとに個別の変換スレッドを起動しますか?

私の質問は、一度に進捗があまりにも多いので、すべてが遅くなり、1つずつ順番に変換する方が良いかもしれません。最も効率的なアプローチは何ですか?

+0

答えは、この「すべて変換」機能が何をするかによって異なる場合があります。 –

+0

@ JohnSaundersこの関数は、各アイテム(別々のプロセスを持つ各アイテム)に対して特定のプロセスが開始されるようにする必要があります。 – Shimmy

+0

いくつのプロセスについて話していますか?マルチコアプロセッサで動作しているのですか、またはWindows 7の電話を絞ろうとしていますか?各プロセスの実行時間はどのくらいですか? – Carth

答えて

2

これに対する答えは、処理の性質(ボトルネックとは何か、共有リソースの種類などに大きく依存します)に非常に特有です。あなただけが両方の方法で記述し、プロファイラを使用してパフォーマンスを測定することで、質問に答えることができます。

+0

これは両方の方法がかなり重要であることを意味します。私は間違ったことをしないようにしたい。 – Shimmy

1

達成しようとしている変換の作業負荷によって異なります。スレッドプールのサイズを制限することで、よりバランスのとれたアプローチが必要な場合があります。何が最善の構成であるかを確認するには、いくつかのテストが必要です。