提升.NET应用程序启动速度
.NET框架是Windows系統(tǒng)上所有基于.NET的應(yīng)用程序的基礎(chǔ)。出于性能方面的考慮,Windows會(huì)運(yùn)行.NET框架優(yōu)化服務(wù)(它的可執(zhí)行程序名稱是mscorsvw.exe),優(yōu)化用戶機(jī)器上.NET應(yīng)用程序的性能。初次安裝新版本的.NET框架,或者框架稍后收到Windows更新的補(bǔ)丁,均會(huì)觸發(fā)激活該服務(wù)。
\u0026#xD;\nNGEN是本機(jī)映像生成器,已經(jīng)作為.NET框架的一部分存在了好幾年。NGEN創(chuàng)建托管代碼應(yīng)用程序的本機(jī)映像,該映像經(jīng)過優(yōu)化,可以在運(yùn)行時(shí)直接使用,而不需要使用即時(shí)(JIT)編譯器。隨著時(shí)間的推移,NGEN不斷發(fā)展,它包含了一個(gè)作為后臺(tái)服務(wù)運(yùn)行的組件,試圖以此確保.NET應(yīng)用程序持續(xù)優(yōu)化。通過設(shè)置自定義選項(xiàng),NGEN也可以針對(duì)特定程序集在前臺(tái)運(yùn)行。
\u0026#xD;\nAutoNGEN是該產(chǎn)品的最新成果,它伴隨Windows 8出現(xiàn),并在Windows 8.1中進(jìn)行了進(jìn)一步的優(yōu)化。相比之前的迭代,它體現(xiàn)了數(shù)項(xiàng)改進(jìn)。按照設(shè)計(jì),在Windows 8中,AutoNGEN只優(yōu)化機(jī)器上正在使用的.NET應(yīng)用程序或庫。設(shè)計(jì)還使它在后臺(tái)運(yùn)行時(shí)更高效,并且當(dāng)用戶返回機(jī)器時(shí)它會(huì)讓出處理器。
\u0026#xD;\n在Windows 8.1中,該服務(wù)試圖利用微軟的構(gòu)建系統(tǒng)。這樣,來自微軟的基于.NET的包,可以在分發(fā)之前使用類似NGEN的服務(wù)進(jìn)行優(yōu)化。這樣做的結(jié)果是,AutoNGEN需要在本機(jī)上完成的工作更少,也避免了在數(shù)百萬臺(tái)運(yùn)行著.NET的機(jī)器上分發(fā)程序包時(shí)重復(fù)同樣的優(yōu)化工作。
\u0026#xD;\n查看英文原文:Improving NET Application Startup Speed
\u0026#xD;\n感謝馬國耀對(duì)本文的審校。
\u0026#xD;\n給InfoQ中文站投稿或者參與內(nèi)容翻譯工作,請(qǐng)郵件至editors@cn.infoq.com。也歡迎大家通過新浪微博(@InfoQ)或者騰訊微博(@InfoQ)關(guān)注我們,并與我們的編輯和其他讀者朋友交流。
總結(jié)
以上是生活随笔為你收集整理的提升.NET应用程序启动速度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公对公转账需要多久到账
- 下一篇: ASP.NET WebHooks RC