죽이죽이
JS : 자바스크립트란? (JIT) 본문
자바스크립트 언어의 특징
컴파일러 vs 인터프리터
※ 컴파일러
- 전체 코드가 한 번에 머신 코드로 실행
- 바이너리 파일로 쓰여짐
- 컴파일 이후에 실행 가능
※ 인터프리터
- 한 줄씩 소스 코드를 읽으면서 실행
- 컴파일러에 비해 속도가 느림
- 변경 사항을 빠르게 테스트 가능
자바스크립트는 어떤 언어일까?
※ 인터프리터 + 컴파일러(JIT 컴파일)
- 자바스크립트는 인터프리터 언어였지만, V8 엔진이 나온 이후로 성능 최적화를 위해 컴파일도 같이 진행을 한다.
※ JIT 컴파일이란? (wikipedia 참고)
- 컴퓨터 프로그램을 만드는 방법은 두 가지가 있는데, 인터프리트 방식과 정적 컴파일 방식으로 나눌 수 있다.
- 이 중 인터프리트 방식은 실행 중 프로그래밍 언어를 읽어가면서 해당 기능에 대응하는 기계어 코드를 실행하며, 반면 정적 컴파일은 실행하기 전에 프로그램 코드를 기계어로 번역한다.
- JIT 컴파일러는 두 가지의 방식을 혼합한 방식으로, 실행 시점에서 인터프리트 방식으로 기계어 코드를 생성한다.
- 그 후에 해당 코드를 캐싱하여, 같은 함수가 여러 번 불릴 때 매번 기계어 코드를 생성하는 것을 방지한다.
※ JIT 컴파일러 구동 원리
'Javascript' 카테고리의 다른 글
JS : this 바인딩 (0) | 2024.02.07 |
---|---|
JS : 스코프, 스코프 체이닝, 호이스팅 (1) | 2024.02.07 |
JS : Callback, Promise, async-await 정리 (0) | 2024.02.06 |
JS : 함수 선언 방법 (0) | 2024.02.06 |
JS : 자주 사용되는 연산자 5가지 (0) | 2024.02.06 |