コードが最初に呼び出されるのを待つのではなく、C#のコードを前方にJITする簡単な方法はありますか?私はNGENについて読んだことがあるが、それが私を助けてくれるとは思わない。C#JITのオーバーヘッドを避ける
私のアプリケーションは、UDPポートから来る特定の外部イベントを待って応答し、クリティカルパスコードは(a)イベントが到着する前に実行されません。(b)再度実行されるため、このシナリオではJITが高いです。 ANTSプロファイラで確認すると、JITのオーバーヘッドは約40〜50%ですが、時には90%にもなります。私のアプリケーションは待ち時間に非常に敏感で、ミリ秒ごとにカウントされます。
最初の考えでは、JITコンパイルを開始するために、すべてのクリティカルパスメソッドにブールパラメータを追加し、イベントが発生する前にこれらのメソッドを呼び出すことができたと思います。しかし、もっときれいな方法がありますか?
多くのお礼ありがとうございます
なぜNGENはあなたを助けませんか? –
問題があると判断しましたか?それとも、あなたは単にそれがあると思いますか? –
私は(事実上)ヘンクの問題だと確信しています。私はただの方法で私のハックのアプローチを実装し、ANTSプロファイラのそのメソッドのJITオーバーヘッドは消えました。 – endian