[개발 일기] 2025.06.26 - AOT

2025. 6. 26. 12:34·개발 일기

💡 개요

 

오늘은 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
'개발 일기' 카테고리의 다른 글
  • [개발 일기] 2025.06.28 - 조금 이따가 해드릴께요~
  • [개발 일기] 2025.06.27 - Stateful과 Stateless의 차이
  • [개발 일기] 2025.06.25 - 쿼리 플랜이 뭐죠?
  • [개발 일기] 2025.06.24 - 난 분명히 토큰을 넣었다고 했다.
오도형석
오도형석
  • 오도형석
    형석이의 성장일기
    오도형석
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • MSA 모니터링 서비스
        • DB
      • 스파르타 코딩클럽
        • SQL
        • Spring
      • 백엔드
        • Internet
        • Java
        • DB
      • 캡스톤
        • Django
        • 자연어처리
      • Spring
        • JPA
        • MSA
      • ETC
        • ERROR
      • 개발 일기 N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 인기 글

  • 태그

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
오도형석
[개발 일기] 2025.06.26 - AOT
상단으로

티스토리툴바