우당탕탕
[JS] V8 엔진(자바스크립트 엔진)이란 무엇일까? 본문
V8 엔진이란 무엇인가?
어느 날 면접 질문으로 V8엔진에 대해 질문이 들어온 적이 있다.
처음 V8엔진을 들었을 때에는 자동차 엔진인가? 밖에 생각이 들지 않았지만 이후 자바스크립트 엔진인 것을 알게 되었다.
V8 엔진이란?
V8은 Google Chrome과 Node.js 에서 사용되고 있는 구글에서 제작된 자바스크립트 엔진이다.
이는 C++로 작성되었고 다중 스레드 방식을 사용하며, 환경과 상호 작용하고 프로그램을 실행하기 위한 바이트 코드를 생성하는 역할을 한다.
( 초기의 V8은 웹 브라우저의 성능 향상 메커니즘으로 도입되었다. )
다른 엔진보다 왜 V8인가?
V8엔진과 다른 엔진의 차이점으로는 JIT( Just In Time ) 컴파일러이다.
JIT 컴파일러는 런타임에 모든 JavaScript를 기계어로 컴파일하고 중간에 코드를 생성하지 않는다. ( 빠른 속도 )
예시 코드와 V8에 대한 깊은 내용이 담겨있는 글을 찾아서 공유해본다.
https://blog.bitsrc.io/secret-behind-javascript-performance-v8-hidden-classes-ba4d0ebfb89d
'언어 > JavaScript' 카테고리의 다른 글
[Js] 뒤로가기 버튼에서 발생하는 캐시 BF캐시 (bfcache) (0) | 2022.09.19 |
---|---|
[Js] 따옴표(quotes)와 백틱(backtick)의 차이 (0) | 2022.09.08 |
[JS] 이벤트 버블링(bubbling)과 이벤트 캡처링(capturing) (0) | 2022.08.30 |
[JS] 일급 객체(First Class Object), 일급함수(First Class Function)란? (0) | 2022.08.24 |
[JS] 호이스팅이란? ( Hoisting ) (2) | 2022.08.22 |
Comments