CLR загружается и инициализируется каждый раз, когда загружается новое управляемое приложение? - PullRequest
6 голосов
/ 14 июля 2010

CLR загружается и инициализируется каждый раз, когда загружается новое управляемое приложение и уже существует управляемое приложение?

например, если на моем компьютере запущено приложение "TestApp", и после этого я запускаю другоеприложение "DemoApp".В этом случае, будет ли CLR снова загружаться для DemoApp?Или он будет использовать тот же, который загружен TestApp?

Ответы [ 2 ]

8 голосов
/ 14 июля 2010

Да, и сборки компилируются JIT, выделяются кучи и так далее.Загрузчик образов Windows немного поможет, но в целом издержки CLR зависят от процесса.

4 голосов
/ 14 июля 2010

CLR каждый раз загружается не полностью.В приведенной ниже статье упоминается сценарий «горячего запуска», когда CLR готов.Вы, возможно, заметили это сами, когда запускаете приложение .NET в первый раз после запуска системы.

В сценарии «горячего» запуска (например, вы уже запускали управляемое приложение один раз),Вполне вероятно, что большинство страниц для основных компонентов CLR уже загружены в память, откуда ОС может их повторно использовать, что экономит дорогостоящее время доступа к диску.Вот почему управляемое приложение запускается намного быстрее при втором запуске.Эти мягкие неисправности доминируют в теплом запуске.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...