💡 개요
오늘은 Dart 언어의 컴파일러 방식인 AOT에 대해 정리해 보자.
🛠️ AOT(Ahead-of-time)
AOT란 프로그램을 실행하기 전, 소스 코드나 중간 코드를 미리 기계어로 컴파일하는 방식이다.
즉, 프로그램 실행 전 코드가 이미 실행 가능한 상태가 된다.
그렇기 때문에 자바의 JIT 방식보다 더 빠를 수 있다.
→ JIT는 프로그램이 실행중에 바이트코드를 기계어로 컴파일한다. 따라서 프로그램이 실행되기 전에는 JIT 컴파일이 일어나지 않는다.
하지만 무조건 AOT가 더 빠른 것은 아니다.
JIT은 런타임의 상황에 맞게 최적화를 진행하기 때문에 반복해서 등장하는 코드의 컴파일은 빠르게 처리할 수 있다.
하지만 AOT은 런타임 상황을 고려하지 않고 컴파일하기 때문에, 초기 실행 속도는 빠를지라도, 장기적인 성능은 JIT보다 떨어질 수 있다.
'개발 일기' 카테고리의 다른 글
[개발 일기] 2025.06.28 - 조금 이따가 해드릴께요~ (1) | 2025.06.28 |
---|---|
[개발 일기] 2025.06.27 - Stateful과 Stateless의 차이 (0) | 2025.06.27 |
[개발 일기] 2025.06.25 - 쿼리 플랜이 뭐죠? (0) | 2025.06.25 |
[개발 일기] 2025.06.24 - 난 분명히 토큰을 넣었다고 했다. (1) | 2025.06.24 |
[개발 일기] 2025.06.23 - usingRecursiveComparison() (0) | 2025.06.23 |