質問: ハイパースレッディングのパフォーマンスへの影響 私はちょうど heise onlineの記事 (表を見てください。残りはドイツ語です)を読んだだけです。芯。つまりbiosでhtを無効にすると、シングルスレッドアプリはわずかに速く実行されます。これは本当ですか、それとも測定誤差ですか?誰かが同じことを主張するベンチマークに関する情報源を持っていますか?
回答: はい、それは明白なはずです。 htを有効にすると、コアの数が2倍になります。これは、ほとんどのプログラムが十分にマルチスレッド化されていないことに基づいて、より多くの並列化ができるように設計されています。ただし、プログラムを完全にマルチスレッド化すると、リソースがオーバーコミットされ、スレッドごとのオーバーヘッドが増えるため、パフォーマンスが低下します。ただし、これがどれほど小さい場合でも、アプリケーションが任意の数のコアおよびプロセッサ上で100%のcpuを使用できる場合、htを有効にすると、パフォーマンスが約2〜3%低下します。孤立したシングルスレッドプログラムの場合、プログラム自体はリソースを使いすぎないため問題ではないように見えますが、osは余分なコアがあり、リソースをオーバーコミットする可能性があると考えていることを忘れないでください。未使用のコアがある場合でも、スレッドを最適に配置せずに単一の実際のコアにロックしないスケジューラーによって引き起こされるオーバーヘッドを測定できます。これらの観察は、10年以上にわたるリアルタイムソフトウェア開発とベンチマークに基づいています。システムのパフォーマンスを最大化しようとすると、非常に小さいものの、明らかに観察可能な違いがあります。