JS V8 Engine

송인호·2022년 7월 1일
0

React

목록 보기
61/70

Google V8 엔진

V8은 Google Chrome과 Node.js에서 사용되고 있는 구글에서 제작한 자바스크립트 엔진이다.

V8의 등장배경

웹 브라우저 내부에서 자바스크립트의 속도 개선을 위해서 고안되었다
. 자바스크립트 엔진은 웹 특성상 유저와 상호작용을 위해서 즉시성이 있는 인터프리터 방식을 사용하는데, 코드가 많아질 수록 속도가 느려져서 구글맵같은 기능을 구현하기 어려웠다.
따라서 V8은 속도 향상을 위해 자바스크립트 코드를 더 효율적인 머신 코드로 번역한다.

C++로 작성되었고 고성능의 자바스크립트 전용의 웹 어셈블리 엔진이라 할 수 있다. 일반적으로 자바스크립트 엔진은 코드 한 줄을 해석하고 바로 실행하는 인터프리터 형식이지만, V8 엔진은 자바스크립트 코드를 바이트코드(ByteCode)로 컴파일하고 실행하는 방식을 사용한다.

또한 V8엔진은 독립형으로 개발되었기 때문에 웹 브라우저 뿐 아니라 C++ 프로그램에 별도로 내장하여 실행시킬 수도 있다.

V8 엔진이 계속해서 진화하면서 Ignition과 TurboFan의 성능이 좋아지며, 반대로 Full-codegen과 Crankshaft는 성능이 받쳐주지 못하게 되어 5.9 버전부터는 이 두 가지를 제거하게 되었다고 한다.

profile
프론트엔드 개발자

0개의 댓글