である私はのための答えを見つけることを試みたが、私が見つけたすべての情報から、より混乱しました疑問がある - 残念ながら、そう明確な答え最適数ハイパースレッディングはオフ
を得ることができませんでしたが、ハイパースレッディングがオフになっているコンピュータがあるとしましょう。
私が書いたプログラムで最適なスレッド数を教えてください。
私のプログラムが100%CPUに束縛されていない(IOを扱っていない)ので、最適なスレッド数は1コアあたり1スレッド以上になることを理解しています。 (コンテクストの切り替えによるオーバーヘッドに起因するものではない)、これらの種類のプログラムの方が優れています。
しかし、私のプログラムが100%CPUバウンドの場合、コアあたり1つのスレッドが最適ですか? スレッド数が増えているので混乱しています。つまり、スレッドごとにスライス時間が長くなってパフォーマンスが向上する可能性があります。
ありがとうございます!
私は明確な解答はありませんが、いつでもプログラムをベンチマークすることができます。 –
作業負荷を知っている人には答えられません。より多くのスレッドは、*より小さい*スライスを意味し、すべてが実行されている場合はオーバーヘッドが増えます。 –