どのような方法でどのメソッドがJITコンパイルされているかを知りたい。.NET jitコンパイラログを取得する
これを可能にするプロファイラAPIがあることは知っていますが、C++でプロファイラを作成する必要があります。 また、今後、より高速なバックグラウンドJITtingのためにJITプロファイルを作成するProfileOptimizationという機能もあります。いくつかのバイナリファイルを作成します。おそらく、もし私が.exe/.pdbを持っていれば、そこからメソッド名を取得する可能性がありますか?
私は、JITコンパイルされたメソッドの数を取得するためにパフォーマンスモニタを使用しますが、カウントは
おかげで私のナノ最適化の戦争を開始するには十分ではありません!
「but」だけではありません。必要に応じてC++のコードを手に入れて、命令の順序を知り、実際に*変更するために何をしようとしていますか?あなたはなぜプログラムがうまくいくと思いますか?あなたがそれを悪化させるかなり高い確率。あなたはとにかく背景ジッタを打ち負かすことはできません。またはNgen.exeは、まったくジットしない最も明白な方法です。 –
コードを変更して測定することができます。それがうまく動作しない場合 - 私はコードをそのまま残す:)それは私がそれがより良く動作すると確信している理由です。 私の場合、NGEN/PGOはオプションではありません。私はちょっと試合をしたいが、ログが必要だ。特定のメソッドのJIT時間が含まれている場合は、それがさらに優れています。 – Grigory