JIT 컴파일 vs AOT 컴파일

에러전문·2025년 2월 7일

JIT 컴파일

AOT 컴파일

Just In Time(즉시) 컴파일 이란?

말 그대로임 프로그램 실행시점에서 기계어로 즉석으로 변환하는 기술

작동 원리 : 소스 코드 작성 → 실행 중 JIT 컴파일러가 기계어로 변환 → 기계어 → 실행

장점 :

실행 중 최적화로 성능 향상

플랫폼 독립성 유지 가능

단점 :
초기 실행 속도 느림(처음 변환 과정 필요)
추가적인 메모리 사용(기계어 캐시 저장)

Ahead Of Time(미리) 컴파일 이란?

말 그대로임 프로그램 실행 하기전에 소스코드를 기계어로 미리 컴파일 하는 기술

작동 원리 : 소스코드 작성 → AOT 컴파일러가 코드를 기계어로 직접 변환(.exe,.out 등 파일생성) → 이미 변환된 기계어를 실행

장점:
빠른 초기 실행 속도(이미 기계어니 즉시 실행가능)
낮은 런타임 오버헤드(실행 시 추가적 컴파일 과정없음)
단점:

유연성 부족(실행 환경에 따른 최적화 불가능)

플랫폼 종속성(플랫폼 달라지면 다시 컴파일 해야함)

비교

비교 항목AOT (Ahead-Of-Time)JIT (Just-In-Time)
컴파일 시점실행 전에 미리 컴파일실행 중에 실시간 컴파일
실행 속도초기부터 빠름처음에는 느릴 수 있지만 점점 최적화됨
최적화 방식고정된 최적화실행 데이터를 기반으로 동적 최적화 가능
플랫폼 이식성플랫폼 종속적플랫폼 독립적 (JVM, .NET 같은 VM 기반)
대표 언어C, C++, Go, RustJava, C#, WebAssembly, Kotlin
profile
초보자입니다. 많은지적 감사합니다.

0개의 댓글