Java 가속 기술 share

today 2010-03-08 face Posted by appkr turned_in Work & Play forum 0

JIT Compiler

  • Just-In-Time Compilation Technology
  • Java 의 바이트코드를 프로세서에게 직접 전달될 수 있는 명령어로 바꾸어주는 프로그램 - Java 소스는 Java 컴파일러에 의해 바이트코드 변환되며, 가상머신 (VM) 은 한번에 하나의 바이트코드 명령어만을 처리 가능
  • 특정 시스템 플랫폼에 있는 JIT 컴파일러 (second compiler) 를 사용하여 바이트코드를 특정 시스템의 코드. 마치 그 프로그램이 처음부터 그 플랫폼에서 컴파일된 것처럼 컴파일하여 속도 향상을 가져옴
  • JIT 컴파일러는 VM 과 함께 제공되며 사용 여부는 사용자 선택
  • .Net Framework 도 JIT Compilation 기술을 사용함.

AOT or AOTC

  • Ahead of Time Compile
  • Java 의 바이트코드를 C 로 변환하고 이를 다시 C Compiler 를 이용해서 해당 아키텍쳐에 맞는 Native Code 로 만들어 실행하는 기술

Java 가속 기술 비교

기술 속도 향상 특징
JIT 10~15x Application 크기 커짐
AOT(C) 6~10x 프로파일링 및 컴파일 시간이 있어서 초기 실행시간이 느려짐
Jazelle 6~10x  

주) Mobile 에서는 JIT 와 Jazelle 사용이 일반적임.

주) Application 크기가 커지는 것을 제외하면, AOT 방식이 최대 성능을 보일 수 있음.

comments powered by Disqus
keyboard_arrow_up