私は自分のプログラムの1つからもう少しパフォーマンスを絞り出そうとしていて、優先度とアフィニティの設定を読んでいたところThread.BeginThreadAffinity
、そのドキュメントには次のように書かれています。
マネージコードが現在の物理オペレーティングシステムスレッドのIDに依存する命令を実行しようとしていることをホストに通知します。
プログラムでこれをテストしたところ、パフォーマンスが約3〜4%向上しました。私の理解では、コードを別の物理オペレーティングシステムスレッドに移動すると、アフィニティ設定は失わThread.BeginAffinity
れますが、同じスレッドにとどまり、アフィニティ設定を維持します。私のコードは昇格されているため、パフォーマンスが向上します。
これはどのように機能するのですか、それとも私は誤解していThread.BeginAffinity
ますか?