提升.NET应用程序启动速度

本文深入探讨了.NET框架如何通过NGEN与AutoNGEN服务来优化应用程序性能,从初次安装到后续更新,详细解释了这些技术如何提升.NET应用的启动速度与运行效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.NET框架是Windows系统上所有基于.NET的应用程序的基础。出于性能方面的考虑,Windows会运行.NET框架优化服务(它的可执行程序名称是mscorsvw.exe),优化用户机器上.NET应用程序的性能。初次安装新版本的.NET框架,或者框架稍后收到Windows更新的补丁,均会触发激活该服务。

\u0026#xD;\n

NGEN是本机映像生成器,已经作为.NET框架的一部分存在了好几年。NGEN创建托管代码应用程序的本机映像,该映像经过优化,可以在运行时直接使用,而不需要使用即时(JIT)编译器。随着时间的推移,NGEN不断发展,它包含了一个作为后台服务运行的组件,试图以此确保.NET应用程序持续优化。通过设置自定义选项,NGEN也可以针对特定程序集在前台运行。

\u0026#xD;\n

AutoNGEN是该产品的最新成果,它伴随Windows 8出现,并在Windows 8.1中进行了进一步的优化。相比之前的迭代,它体现了数项改进。按照设计,在Windows 8中,AutoNGEN只优化机器上正在使用的.NET应用程序或库。设计还使它在后台运行时更高效,并且当用户返回机器时它会让出处理器。

\u0026#xD;\n

在Windows 8.1中,该服务试图利用微软的构建系统。这样,来自微软的基于.NET的包,可以在分发之前使用类似NGEN的服务进行优化。这样做的结果是,AutoNGEN需要在本机上完成的工作更少,也避免了在数百万台运行着.NET的机器上分发程序包时重复同样的优化工作。

\u0026#xD;\n

查看英文原文:Improving NET Application Startup Speed

\u0026#xD;\n

感谢马国耀对本文的审校。

\u0026#xD;\n

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

11-23 914
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值