[일반] 컴파일러 vs 인터프리터

Seungju Hwang·2022년 3월 19일
0

CS

목록 보기
10/10

Intro

자바스크립트는 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어이다.

대부분의 모던 자바스크립트 엔진은 인터프리터와 컴파일러의 장점을 결합해 비교적 처리 속도가 느린 인터프리터의 단점을 해결했다.

인터프리터: 소스코드를 직스 실행

컴파일러: 빠르게 동작하는 머신 코드를 생성하고 최적화한다.

컴파일러 vs 인터프리터

컴파일러인터프리터
코드가 실행되기 전 단계인 컴파일 타임에 소스코드 전체를 한번에 머신코드로 변환 후 실행코드가 실행되는 단계인 런타임에 문 단위로 한 줄씩 중간 코드인 바이트코드로 변환 후 실행
실행 파일 생성한다.실행파일 생성하지 않는다
컴파일 단계와 실행 단계가 분리되어 있다. 명시적인 컴파일 단계를 거치고, 명시적으로 실행 파일을 실행한다.인터프리트 단계와 실행단계가 분리되어 있지 않다. 인터프리터는 한 줄씩 바이트코드로 변환하고 즉시 실행한다.
실행에 앞서 컴파일은 단 한번 수행한다.코드가 실행될 때마다 인터프리트 과정이 반복 수행된다.
실행 단계가 분리되어 있으므로 코드 실행 속도가 빠르다.인터프리트 단계와 실행 단계가 분리되어 있지 않고 반복 수행되므로 코드 실행 속도가 비교적 느리다.
profile
기록하는 습관은 쉽게 무너지지 않아요.

0개의 댓글