强制执行激进的JIT

本文关键字:JIT 强制执行 | 更新日期: 2023-09-27 18:19:41

随着.net的成熟,JIT功能得到了改进,变得非常懒惰。也就是说,如果不需要,就不要生成机器代码。总的来说,这是一件好事。

然而,如果我正在尝试预热应用程序,我可能更喜欢积极的JIT立场。有没有一种方法可以配置.net应用程序,使类的所有方法都经过JIT编译,仅仅因为该类是构造的?

如果是的话,我最喜欢的对象创建模式可以实例化应用程序的对象图,并且我可以同时准备好所有JIT。那就太好了。

这能做到吗?

强制执行激进的JIT

附带说明-您可以在部署时使用NGen.exe生成dll的本机映像(注意:这不是一个完美的解决方案,因为它有一些缺点-请仔细查看文档)

您的意思是,您希望提前编译所有内容:-)

他们终于为你做到了这一点-在2014年发布:

Somasegar告诉我,开发人员告诉微软,.NET一种非常高效的编程语言,但它并不总是能提供他们想要的表演。"我们一直在做很多向开发人员展示.NET仍然是一个非常可行的创新为希望在现代世界中构建应用程序的开发人员提供的平台,"他说。有了.NET原生提前编译器,开发人员将查看更快的启动时间、更低的内存使用率和更好的整体性能性能,微软承诺。此新功能当前位于预览并允许开发人员同时瞄准X64和ARM平台。

您可以尝试一下(目前只预览,可能只适用于"通用"应用程序,因此YMMV可以了解它的用处),更多信息可在MSDN 上获得