当前位置:  开发笔记 > 后端 > 正文

使用NGEN有帮助吗?

如何解决《使用NGEN有帮助吗?》经验,为你挑选了2个好方法。

当我们知道它不会改变太多时,使用NGEN和ASP.NET应用程序是否更好?或者JIT足够好吗?

我问的唯一原因是因为Jeffrey Richter在2002年的这篇文章说:

当然,Microsoft正在努力改进CLR及其JIT编译器,以便它运行得更快,生成更优化的代码,并更有效地使用内存.这些改进需要时间.对于不能等待的开发人员,.NET Framework可再发行组件包含一个名为NGen.exe的实用程序.

Jon Skeet.. 22

NGen只会帮助启动时间 - 它不会使代码执行得比JITting之后更快.实际上,我相信有一些优化,NGen 不会做,但JIT会做.

所以,主要的问题是:你有启动时间的问题吗?我不知道ASP.NET应用程序的启动时间有多少是JITting与其他成本,顺便说一句......你应该看看JIT的Performance Manager图表,告诉你它花了多少时间才真正耗费你.

(在可用性方面,拥有多个服务器以便您可以进行滚动重启,这将比使用NGENed Web应用程序的单个服务器带来更多好处.)



1> Jon Skeet..:

NGen只会帮助启动时间 - 它不会使代码执行得比JITting之后更快.实际上,我相信有一些优化,NGen 不会做,但JIT会做.

所以,主要的问题是:你有启动时间的问题吗?我不知道ASP.NET应用程序的启动时间有多少是JITting与其他成本,顺便说一句......你应该看看JIT的Performance Manager图表,告诉你它花了多少时间才真正耗费你.

(在可用性方面,拥有多个服务器以便您可以进行滚动重启,这将比使用NGENed Web应用程序的单个服务器带来更多好处.)



2> foson..:

NGen不适合使用ASP.NET - 在bin文件夹中创建.dll不是最后一步 - 它们会在应用于您C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files文件夹的web/maching.config设置中再次编译.而不是NGen,以减少初始加载时间,使用发布网站工具或aspnet_compiler.exe

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有