それがマネージド言語でも可能かどうかはわかりませんが、ハイパースレッディングが存在する場合にアプリケーションのパフォーマンスを実際に向上させることは可能ですか?
コードで実行できる特定の何かがありますか?、おそらくいくつかの関数はHT環境で他の関数よりもうまく実行されますか?
マルチスレッドの恩恵を受けるために必要なのは、新しいスレッドを生成して重いCPUタスクを実行することだけですが、HTに何が必要かわかりません。
それがマネージド言語でも可能かどうかはわかりませんが、ハイパースレッディングが存在する場合にアプリケーションのパフォーマンスを実際に向上させることは可能ですか?
コードで実行できる特定の何かがありますか?、おそらくいくつかの関数はHT環境で他の関数よりもうまく実行されますか?
マルチスレッドの恩恵を受けるために必要なのは、新しいスレッドを生成して重いCPUタスクを実行することだけですが、HTに何が必要かわかりません。
あなたが持っている実際のハードウェアに大きく依存します。詳細分析の詳細については、「注意:ハイパーにするかハイパーにしないか」を参照してください。リンクでのSlavaのポイントは、HTでは仮想コアがキャッシュを共有し、仮想コアのワークロードが「メイン」コアのキャッシュを破棄する可能性があることです。メインコアと比較してワークロードの最大で約20%を実行できますが、 、メインコアのホットキャッシュを削除するため、メインコアがストールし、全体的にHTなしよりもパフォーマンスが低下します。
しかし、記事が投稿されてから多くのことが変更されました。HTpostNehalemの方がはるかに優れています。
マルチスレッドの恩恵を受けるために必要なのは、新しいスレッドを生成して重いCPUタスクを実行することだけです。
それはかなり素朴な見方です。高性能Windowsプログラム(マネージドアプリにも適用されます)に関するRick Vicikの記事を読む必要があり、CPUキャッシュとなぜ気にするのかを完全に理解する必要があります。