컴파일러 vs 인터프리터
컴파일러
- 소스 코드를 기계어로 번역하고, 실행하는 방식.
- 실행 속도가 빠르다.
- 플랫폼 이식성이 낮다.
- Ex. C, C++ 등.
인터프리터
- 소스 코드를 한 번에 한 줄씩 읽어서 직접 실행하는 방식.
- 코드 실행 결과를 바로 확인할 수 있다.
- 플랫폼 이식성이 높다.
- 컴파일러에 비해 속도가 느리다.
- Ex. JavaScript, Python, SQL 등.
JIT 컴파일러와 인터프리터의 차이
- JIT 컴파일러는 코드의 특정 부분을 선택하여 일괄적으로 기계어로 컴파일한다. 반면 인터프리터는 한 줄씩 실행한다.
- JIT 컴파일러는 최적화를 통해 성능을 개선한다.
- 인터프리터는 초기 실행시에 컴파일 과정을 거치지 않기 때문에 실행 속도가 빠르다. 하지만 일단 컴파일되면 JIT 컴파일러의 속도가 빠르다.