네이티브 이미지 생성기
Native Image GeneratorNative Image Generator(NGen)는 의 선행 컴파일(AOT) 서비스입니다.NET 프레임워크이를 통해 Common Language Runtime(CLR; 공통 언어 런타임)이 런타임에 JIT(Just-In-Time Compilation)를 실행하는 대신 CLI 어셈블리를 미리 컴파일할 수 있습니다.경우에 따라서는 JIT를 사용하는 경우보다 실행 속도가 현저하게 빨라집니다.
일반 정보
네이티브 이미지 생성기는 현재 환경(즉, 운영 체제)의 네이티브 이진 이미지를 생성합니다.이로 인해 JIT 오버헤드가 해소되어 휴대성과 디스크 공간이 희생됩니다.비호환 환경에서 NGen 생성 이미지가 실행될 때마다.NET Framework는 자동으로 JIT 사용으로 돌아갑니다.어셈블리에 대해 NGen이 실행되면 생성된 네이티브이미지는 다른 모든 CLI 어셈블리에서 사용할 수 있도록 네이티브이미지 캐시(NIC)에 저장됩니다.이것에 의해, 예를 들면, 인스톨시에 NGen 를 사용해 CLI 어셈블리를 처리할 수 있게 되어, 최종 유저가 시스템상에서 애플리케이션을 기동했을 때에 프로세서의 시간을 절약할 수 있습니다.
NGen은 런타임에 JIT 컴파일 프로세스를 삭제함으로써 어셈블리의 실행을 고속화하는 것을 목적으로 하고 있습니다.단, 일부 최적화는 JIT 컴파일러에 의해서만 실행할 수 있기 때문에 항상 퍼포먼스가 향상되는 것은 아닙니다(예를 들어 코드가 이미 완전한 신뢰로 실행되고 있는 것을 JIT 컴파일러가 알고 있는 경우, 고가의 보안 체크를 생략할 수 있습니다).따라서 NGen을 사용하기 전후에 애플리케이션 성능을 벤치마킹한 후에만 NGen을 사용하는 것이 타당합니다.
