WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

The Native Image Generator — утилита, позволяющая создавать из сборок на CIL-коде для исполняющей среды CLR-образы в машинном коде (native image) и устанавливать его в кэш сборок локального компьютера. За счёт этого повышается эффективность управляемых приложений: вместо JIT-компиляции загружается готовая сборка на native-коде.

Преимущества:

  • уменьшает время загрузки приложения, так как JIT-компиляции не требуется.
  • уменьшает время первого запуска функций, так как JIT-компиляции не требуется.
  • улучшает использование памяти, так как JIT-компилятор не требуется.
  • полученные dll могут одновременно использоваться многими процессами. (sharing between processes)
  • компиляция происходит под конкретный процессор, используемый в системе.

Недостатки:

  • Ограничения на использование метода Assembly.LoadFrom
  • Native image не заменяет исходные dll, а хранится отдельно. Поэтому используется больше дискового пространства.
  • Рассинхронизация NGen-файлов. При появлении новой версии сборки необходимо обновлять и образ в локальном кеше.
  • Так как native image и исходная сборка имеют разные адреса для функций, то при вызове методов, находящихся в native image, добавляется операция модификации базового адреса.

Применение:

  • Если dll используют много процессов или оно используется из разных доменов. Native image даст возможность одновременного использования библиотеки многими процессами.
  • Если необходимо ускорить запуск приложения и уменьшить используемую память.
  • Применение к большим программам дает больший эффект, чем применение к маленьким программам.
  • Для программ с длительным временем выполнения эффект очень маленький (так как JIT-компиляция осуществляется только один раз — по первому обращению. Далее используется скомпилированная версия. И с каждым новым вызовом суммарная разница будет уменьшаться.)

Все .NET Framework при установке создают образы в Native image.

Литература

  1. Bart De Smet. Native Image Generation // C# 4.0 Unleashed. — Pearson Education, 2011. — P. 115. — 1080 p. ISBN 9780132681728.
  2. Jeffrey Richter. The Native Code Generation Tool: NGen.exe // CLR via C#. — Pearson Education, 2012. — P. 35. — 894 p. ISBN 9780735668768.

Ссылки

Native Image Generator at MSDN

См. также

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии