Java/일반

JIT Compiler

창욱씨 2021. 10. 8. 23:33

JIT Compiler의 개념

JIT Compiler는 바이트 코트들 CPU로 직접 보낼 수 있는 명령어로 바꾸는 프로그램입니다. 일반적으로 컴파일러는 개발자와 최종 사용자를 위한 애플리케이션의 속도를 결정하는데 있어 핵심입니다. JIT Compiler는 성능 최적화를 위해 애플리케이션 런타임을 향상시킬 수 있습니다.

JIT Compiler를 사용하는 이유

JIT Compiler는 같은 코드를 매번 해석하지 않고 실행할 때, 컴파일을 하면서 해당 코드를 캐싱합니다. 이후에는 변경된 부분만 컴파일하고 나머지는 캐싱된 코드를 사용하기 때문에 실행 능력이 크게 향상됩니다. 또한, JIT Compiler는 바이트 코드를 컴파일하는 과정에서 스택 연산을 레지스터 연산으로 변환하거나 레지스터 할당을 통한 메모리 접근 횟수 감소시키기 등으로 최적화 과정 또한 진행합니다.

JIT Compiler사용시 주의사항

JIT Compiler는 초기 구동 후 얼마 간은 컴파일하는데 시간과 메모리를 소모하기 때문에 정적 컴파일된 프로그램에 비해 실행 속도와 메모리 사용량에서 손해를 봅니다. 특히, 실행 시간이 매우 짧은 경우에는 컴파일된 코드를 제대로 사용하기도 전에 프로그램이 끝나는 상황이 벌어지기도 합니다. 따라서 코드 재사용성이 높은 애플리케이션에 사용하는 것이 좋습니다.

728x90