有没有一种简单的方法可以事先对C#代码进行JIT编程,而不是等待第一次调用代码?我已阅读了NGEN,但我认为这不会帮助我。避免C#JIT开销
我的应用程序等待并响应来自UDP端口的特定外部事件,并且没有关键路径代码(a)在事件到达之前运行,或者(b)再次运行,所以成本的JIT在这种情况下很高。用ANTS分析器检查JIT的开销约为40-50%,有时高达90%。我的应用程序对延迟非常敏感,每毫秒都很重要。
我最初的想法是,我可以为每个关键路径方法添加一个bool参数,并在发生事件之前调用这些方法,以启动JIT编译。但是,有没有更漂亮和不太古怪的方式?
非常感谢
NGEN为什么不帮你? –
你确定它是一个问题吗?或者你只是认为它可能是? –
我(实际上)肯定这是亨克的问题。我只用一种方法实现了我的hacky方法,并且ANTS profiler中该方法的JIT开销已经消失。 – endian