JS/Javascript

[JS] 자바스크립트 엔진 V8

emayom 2021. 7. 29. 01:07

자바스크립트 엔진 ?

자바스크립트는 인터프리터 언어로 코드 해석하고 실행하기위한 엔진이 필요하다.

즉, 자바스크립트 엔진이란 JS 코드를 번역해 실행할 수 있게 해주는 인터프리터를 의미한다.


SpiderMonkey, JavaScript Core, Rhino, V8 를 포함한 다양한 JS 엔진이 존재한다.

 

V8 엔진 

구글에서 제공하고,
클라이언트(Chrome)와 서버(Node.js)측 모두에서 사용하는
C++로 작성된 오픈소스 고성능 자바스크립트 엔진이다.

구글 크롬 웹 브라우저를 개발하면서 함께 개발한 엔진으로 
웹 브라우저 내부에서 자바스크립트 수행 속도향상을 목표로 고안되었기 때문에 속도가 빠른 편이다.

 

V8 엔진의 속도가 빠른 이유 ?

(tmi - V8 엔진은 이름부터 8기통의 엔진이다.)

 

인터프리터 + 컴파일러의 장점 결합

 

일반적인 자바스크립트 엔진은 한 줄을 해석하고 바로 실행하는 인터프리터 형식이지만,

V8엔진은 자바스크립트 코드를 바이트코드(ByteCode)로 컴파일하고 실행하는 방식을 사용한다.

 

JIT(Just-In-Time)컴파일 방식을 이용

 

실행을 위해 컴퓨터가 읽을 수 있는 코드로 변환하는 방식으로
인터프리터 방식, 컴파일 방식이 있다.

- 인터프리터 방식 
한 줄씩 해석 -> 실행 
=> 시작이 빠르다. 속도는 느리다.
=> 코드 수정 후 바로 바로 확인 가능 
- 컴파일 방식 
전체를 읽은 뒤 -> 실행
=> 초기 컴파일 과정에서 느리다. 속도는 빠르다.

⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 위한 용도입니다. 참고해주시고 편안하게 봐주세요 :)  ⚠️

***    혹시라도 잘못된 정보가 있다면  언제든지 알려주시면 감사하겠습니다  !    ***