随着.net的成熟,JIT功能得到了改进,变得非常懒惰。也就是说,如果不需要,不要生成机器代码。一般来说,这是一件好事。
然而,如果我试图warmup an application我可能更喜欢积极的JIT立场。有没有办法配置一个.net应用程序,以便类的所有方法都是JIT编译的,只是因为 - 该类是构造的?
如果是的话,我最喜欢的对象创建模式可以实例化我的appliation对象图,我会同时准备JIT-ready。那会很好。
可以这样做吗?
答案 0 :(得分:2)
作为附注 - 您可以使用NGen.exe在部署时生成您的dll的原生图像(注意:它不是一个完美的解决方案 - 因为它有一些缺点 - 检查仔细阅读文件)
答案 1 :(得分:0)
你的意思是,你想要提前编译所有内容:-)
他们终于为你做了这件事 - announced at Build 2014:
Somasegar告诉我,开发人员告诉微软,.NET始终是 一种非常高效的编程语言,但它并不总能实现 他们正在寻找的表现。 “我们一直在努力 创新向开发人员展示.NET仍然是一个非常可行的 希望在这个现代世界中构建应用程序的开发人员的平台,“ 他说。使用.NET本机提前编译器,开发人员将会 看到更快的启动时间,更低的内存使用率和整体更好 性能,微软承诺。这个新功能目前在 预览并允许开发人员同时针对X64和ARM 平台。
你可以try it out(目前仅预览,可能仅适用于'通用'应用,因此YMMV的使用程度如何),更多信息为available on MSDN