guricode

[Flutter]AOT와 JIT 컴파일러 본문

앱/Flutter&Dart

[Flutter]AOT와 JIT 컴파일러

agentrakugaki 2025. 10. 20. 03:12

AOT (Ahead-Of-Time)는 코드를 앱 실행 전에 미리 기계어로 변환(컴파일) 하는 방식이다. 앱 실행속도가 빠르고 최적화된 바이너리를 생성한다.

 

JIT (Just-In-Time)는 코드를 앱 실행 중에 즉시(런타임)에 컴파일하는 방식이다. 수정 후 즉시 반영 가능하여 개발단계에 유리하다.

Flutter에서는 개발모드일때 JIT를 사용하고 릴리즈모드일땐 AOT를 사용한다.

 

구분  AOT (Ahead of Time)  JIT (Just in Time)
컴파일 시점 실행 전에 미리 컴파일 실행 중에 실시간 컴파일
속도 실행 빠름 (기계어로 미리 변환) 초기 실행 느림 (컴파일 오버헤드)
빌드 크기 크기가 큼 (기계어 포함) 상대적으로 작음
Hot Reload ❌ 불가 ✅ 가능
사용 시점 Release 빌드 (배포용) Debug 빌드 (개발용)
장점 실행 속도 빠름, 최적화 즉각적 수정 반영, 개발 효율
단점 빌드 시간 길고 수정 불편 실행 속도 느리고 최적화 제한