본문 바로가기
[Android]

JIT vs AOT

by Hevton 2023. 1. 10.
반응형

 

컴파일 방식에 따라 두 가지로 나뉜다.

 

JIT (Just - In - Time)

- 앱 실행 시 컴파일 ( 바이트 코드를 기계어로 컴파일하는 것을 실행 시점에 수행 )

- 설치  시 컴파일 하지 않기에 AOT보다 설치 속도가 빠르다

- 실행 시 컴파일 하기 때문에 AOT보다 실행 속도가 느리다

- Low 용량

 

 

AOT(Ahead - Of - Time)

- 앱 설치 시 컴파일 ( 바이트 코드를 기계어로 컴파일하는 것을 설치 시점에 수행 )

- 설치 시 컴파일 하기 때문에 JIT보다 설치 속도가 느리다

- 실행 시 컴파일 하지 않기 때문에 AOT보다 실행 속도가 빠르다

- High 용량 ( JIT에서 실행 시 컴파일 하는 것을 미리 컴파일해서 갖고 있기 때문)

 

 

 

 

안드로이드 5.0 이전까지는 Dalvik VM이 런타임 환경이었지만

안드로이드 5.0 이상부터는 ART이 기본 런타임 환경이다.

 

Dalvik은 주로 JIT를 썼고

ART는 주로 AOT를 쓰며, 최근에는 JIT + AOT를 섞어서 이용한다.

 

 

 

 

참고

강추자료

간단정리

반응형