컴파일러 vs 인터프리터

컴파일러

  • 소스 코드를 기계어로 번역하고, 실행하는 방식.
  • 실행 속도가 빠르다.
  • 플랫폼 이식성이 낮다.
  • Ex. C, C++ 등.

인터프리터

  • 소스 코드를 한 번에 한 줄씩 읽어서 직접 실행하는 방식.
  • 코드 실행 결과를 바로 확인할 수 있다.
  • 플랫폼 이식성이 높다.
  • 컴파일러에 비해 속도가 느리다.
  • Ex. JavaScript, Python, SQL 등.

JIT 컴파일러와 인터프리터의 차이

  • JIT 컴파일러는 코드의 특정 부분을 선택하여 일괄적으로 기계어로 컴파일한다. 반면 인터프리터는 한 줄씩 실행한다.
  • JIT 컴파일러는 최적화를 통해 성능을 개선한다.
  • 인터프리터는 초기 실행시에 컴파일 과정을 거치지 않기 때문에 실행 속도가 빠르다. 하지만 일단 컴파일되면 JIT 컴파일러의 속도가 빠르다.