C컴파일러 과정
- 개발자가 소스 코드 작성.
- C# 컴파일러가 컴파일을 통해 IL코드를 생성(exe or dll), 이를 어셈블리(Assembly)라고 하며, 어셈블리의 주요한 특징은 프로그램 코드 이외에 자신을 설명하는 메타데이터 정보가 포함 되어 있다는 점이다.
- CLR(Common Language Runtime)내부의 클래스 로더에 의해 어셈블리 내 클래스들의 레이아웃 로드와 메타데이터 및 사용된 클래스 라이브러리 등을 메모리에 로드
- JIT 컴파일러는 메모리에 올라간 어셈블리를 컴퓨터가 이해할 수 있는 원시코드(Native Code)로 변환함.
- JIT 컴파일러에 의해 컴파일 된 원시코드는 다음번 실행을 위해 메모리에 캐싱됨.
=> 동일한 어셈블리가 재실행될 때 위의 과정을 생략하여 실행 속도를 향상시킴.