JIT 컴파일

Development/Common 2012. 1. 23. 20:52

JIT 컴파일(just-in-time compile) 또는 동적 번역(dynamic translation)은 프로그램을 실제 실행하는 시점에 기계어로 번역하는 컴파일 기법이다. 이 기법은 프로그램의 실행 속도를 빠르게 하기 위해 사용된다.

전통적인 입장에서 컴퓨터 프로그램을 만드는 방법은 두가지가 있는데, 인터프리트 방식과 정적 컴파일 방식으로 나눌 수 있다. 이 중 인터프리트 방식은 실행 중 프로그래밍 언어를 읽어가면서 해당 기능에 대응하는 기계어 코드를 실행하며, 반면 정적 컴파일은 실행하기 전에 프로그램 코드를 기계어로 번역한다.

JIT 컴파일러는 두 가지의 방식을 혼합한 방식으로 생각할 수 있는데, 실행 시점에서 기계어 코드를 생성하면서 그 코드를 캐싱하여, 같은 함수가 여러 번 불릴 때 매번 기계어 코드를 생성하는 것을 방지한다.

최근의 자바 가상 머신에서는 JIT 컴파일을 지원한다. 즉, 자바 컴파일러가 자바 프로그램 코드를 바이트코드로 변환한 다음, 실제 바이트코드를 실행하는 시점에서 가상 머신이 바이트코드를 기계어로 변환한다.





'Development > Common' 카테고리의 다른 글

스크립트 언어(Script Language)  (0) 2012.02.05
ActionScript  (0) 2012.01.23
문자 집합(Character Set) 및 문자 인코딩  (0) 2012.01.19
유니코드(UNICODE) & 엔코딩(Encoding)  (1) 2012.01.19
utf-8 & euc-kr  (0) 2012.01.19
Posted by linuxism
,