From MSDN Library
네이티브 이미지 생성기는 관리되는 어셈블리에서 네이티브 이미지를 만들어 로컬 컴퓨터의 네이티브 이미지 캐시에 설치합니다. 네이티브 이미지 캐시는 전역 어셈블리 캐시의 예약된 영역입니다. 어셈블리의 네이티브 이미지를 생성하고 나면 런타임은 해당 어셈블리를 실행할 때마다 자동으로 해당 네이티브 이미지를 사용합니다. 따라서 추가 절차를 수행하여 런타임이 네이티브 이미지를 사용하도록 할 필요가 없습니다. 어셈블리에서 Ngen.exe를 실행하면 코드와 데이터 구조를 동적으로 생성하는 대신 네이티브 이미지 캐시에서 이를 복원하기 때문에 어셈블리를 더 빨리 로드하고 실행할 수 있습니다.
Ngen.exe를 사용하여 어셈블리를 미리 컴파일하면 코드를 실행하는 데 필요한 많은 작업이 미리 수행되므로 응용 프로그램의 시작 시간이 줄어듭니다. 그러므로 JIT 컴파일에서 소비하는 CPU 사이클로 인해 성능이 저하된다고 판단되는 클라이언트측 응용 프로그램에 대해서는 Ngen.exe를 사용하는 것이 좋습니다.
응용 프로그램의 시작 시간에 영향을 주는 여러 가지 요인이 있으므로 Ngen.exe를 사용했을 때 도움이 되는 응용 프로그램을 신중히 판단해야 합니다. 어셈블리가 사용되는 환경에서 JIT로 컴파일된 어셈블리와 미리 컴파일된 어셈블리를 둘 다 실행해 보십시오. 이렇게 하면 각각 다른 컴파일 스키마에서 동일한 어셈블리를 실행하는 경우의 시작 시간을 비교할 수 있습니다.
Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.