인터프리터, JIT 컴파일러

Louie·2023년 1월 10일
0

개요

인터프리터와 JIT 컴파일러는 모두 JVM의 실행 엔진에 포함되는 요소입니다.
두 요소가 어떻게 다른지 간단히 정리해봤습니다.

인터프리터

  • 인터프리터는 바이트 코드를 한 줄씩 기계어로 해석하여 실행합니다.
  • 코드를 실행할 때마다 기계어로 해석해야 하기 때문에 같은 코드를 여러 번 실행한다면 성능 이슈가 발생할 수 있습니다.
  • 이러한 문제를 JIT 컴파일러가 보완할 수 있습니다.

JIT 컴파일러(Just In Time Compiler)

  • 인터프리터의 효율을 높이기 위한 컴파일러입니다.
  • JIT 컴파일러는 인터프리터를 통해 반복되는 코드를 기계어로 해석하고 그 결과를 캐싱합니다.
    • 캐싱을 할 때 비용이 많이 소모되기 때문에 반복되는 코드만 캐싱하도록 구현되어 있다고 합니다.
  • 이후에는 해당 코드를 해석한다면 JIT 컴파일러에 캐싱 된 기계어를 재사용합니다.

Reference

인프런 - 더 자바, 코드를 조작하는 다양한 방법

profile
백엔드 개발자를 준비하고 있는 Louie입니다.

0개의 댓글