首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NGEN是否有帮助?

使用NGEN是否有帮助?
EN

Stack Overflow用户
提问于 2008-12-22 09:19:22
回答 6查看 10.1K关注 0票数 18

在我们知道ASP.NET应用程序不会有太大变化的情况下,使用NGEN更好吗?或者JIT足够好了吗?

我问这个问题的唯一原因是因为this article by Jeffrey Richter在2002年说:

当然,微软也在努力改进

及其即时编译器,以使其运行更快,生成更优化的代码,并更有效地使用内存。这些改进需要时间。对于迫不及待的开发人员,.NET框架可再发行包中包含了一个名为NGen.exe的实用程序。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-12-22 09:24:14

NGen只会缩短启动时间--它不会使代码的执行速度比JITting之后更快。事实上,我相信有一些优化是NGen没有做的,但是JIT做了。

所以,主要的问题是:你的启动时间有问题吗?我不知道ASP.NET应用程序的启动时间会有多少是JITting与其他成本,顺便说一句…您可能应该查看JIT的Performance Manager图表,以告诉您它实际上花费了您多少时间。

(在可用性方面,拥有多个服务器,以便您可以滚动重启,这将比只有一个NGENed web应用程序的单个服务器给您带来更多好处。)

票数 22
EN

Stack Overflow用户

发布于 2009-06-02 05:06:38

NGen不是用于ASP.NET的方法--在.dlls文件夹中创建.dlls不是最后一步--它们会被重新编译,并将web/maching.config设置应用到C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files文件夹中。要减少初始加载时间,请使用发布网站工具或aspnet_compiler.exe,而不是NGen

票数 10
EN

Stack Overflow用户

发布于 2009-10-22 04:13:22

我不确定NGEN的主要好处是单独启动时间-如果应用程序正在遭受较高的'% time in JIT',这是一个潜在的补救措施:http://msdn.microsoft.com/en-us/library/dd264972(VS.100).aspx

该讨论与另一个关于如何使用JIT'd machine code is cached和重用的问题密切相关。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/385841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档