Computer Science/etc

JIT와 AOT 컴파일러는 무엇일까? (JIT, AOT 방식 / 특징 / 사용언어)

JeongKyun 2021. 12. 21.
반응형

 

JIT(Just-In-Time)

  • 방식

브라우저에서 파일들을 다운로드 한 뒤에 한번 컴파일해서 브라우저 엔진이 실행할 수 있는 저수준 언어로 바꿔준 후 화면을 렌더링 하는 방식이다. 

> 실행 시점에 바이트코드를 기계어로 번역한다.

 

  • 특징

- 실행속도가 상대적으로 느리다.

(why? 소스코드가 서버에서 컴파일 되는것이 아닌 사용자의 브라우저에서 컴파일 되는 방식이라서)

- 앱설치 속도, 설치 용량 등이 AOT에 비해 빠르고 적게 차지한다.

- 브라우저에서 여러 에러들을 발생시키고 확인할 수 있으며 디버깅이 가능하다.\

- CPU 사용이 AOT에 비해 높다

 

  • 사용

- Java에서 사용되는 JVM(Java Virtual Machine)

- C#에서 사용되는 CLR(Common Language Runtime)

- Python에서 사용되는 CPython

 



AOT(Ahead-Of-Time)

  • 방식

소스 코드를 미리 컴파일하는 방식을 의미한다.

> 설치 시점에 기계어로 번역한다.

 

  • 특징

- 미리 컴파일을 해놓기 때문에 속도가 상대적으로 빠르다.

- 미리 컴파일을 해놓기 때문에 설치 속도나 설치 용량이 큰편이다.

- CPU 사용이 JIT에 비해 낮다

 

  • 사용

- C

- C++

댓글

💲 많이 본 글