Is CLR loaded and initialized everytime,when a new managed application is loaded?

和自甴很熟 提交于 2019-11-28 12:21:31

Yes, and assemblies are JIT compiled, heaps are allocated and so forth. The Windows image loader will help a bit but in general the CLR overhead is per process.

Marek

CLR is not fully loaded every time. The article linked below mentions a "hot startup" scenario, when the CLR is ready. You may have noticed this yourself when you start a .NET app for the very first time after system startup.

In the warm startup scenario (for instance, you have already run a managed application once), it is likely that most of the pages for the main common language runtime (CLR) components are already loaded in memory from where the OS can reuse them, saving expensive disk access time. This is why a managed application is much faster to start up the second time you run it. These soft faults dominate warm startup.

from http://msdn.microsoft.com/en-us/magazine/cc163655.aspx

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!