정의
- AOT Compile 은 Ahead-Of-Time compile (사전 컴파일) 의 약자이다.
- JIT(Just-In-Time) 컴파일과 주로 비교된다.
- 프로그램 실행 중 즉시 변환을 수행하는 JIT(Just-In-Time) 컴파일과 대조적이다.
- 고수준의 소스 코드를 네이티브 머신 코드로 미리 변환하는 프로세스를 의미한다.
AOT 컴파일의 장점
시작 속도
- 기계어로 사전 컴파일 되어 있어 시작이 빠르다.
- 런타임 환경에서 바이트 코드를 네이티브 코드로 변경할 필요가 없다.
예측 가능한 성능
- AOT 컴파일된 앱은 보다 일관되고 예측 가능한 런타임 성능을 제공한다.
- JIT 컴파일은 런타임 중에 발생하는 컴파일 단계로 인해 가변 오버헤드가 발생할 수 있기 때문이다.
코드 난독화
- 바이트 코드보다 리버스 엔지니어링이 더 어려워진다.
리소스 효율
- CPU 와 메모리 사용량 측면에서 더 효율적이다.
- JIT 과 비교해 런타임 컴파일 프로세스가 없으므로 앱의 오버헤드가 줄어든다.
런타임 컴파일러 필요 없음
- 런타임 컴파일러를 탑재할 필요가 없어 앱의 크기와 복잡성이 줄어든다.
최적의 코드 경로
- JIT 에서 수행하기에 비현실적인 공격적인 최적화를 수행한다.
크로스 플랫폼 호환성
- 다양한 대상 플랫폼용 실행 파일을 더 쉽게 생성할 수 있다.
반응형
'컴파일' 카테고리의 다른 글
JIT (Just-In-Time) 컴파일이란? (0) | 2023.10.07 |
---|