728x90
반응형
정리
- V8은 구글에서 주도적으로 개발한, 자바스크립트 파일을 기계어로 변환해주는 엔진이다. 크롬과 NodeJs에서 사용하고 있으며 Mircrosoft Edge도 V8을 이용하겠다고 선언한 바 있다.
- C++로 작성되어 있다. 자바스크립트 코드를 받으면, parser와 AST를 거쳐 tree 구조로 코드가 해석되고, 이것이 ignition이라는 interpreter에 의해서 Bytecode로 변환되어 실행된다.
-interpreter 방식은 최적화되지 않았으므로, bytecode로 실행되는 동안 TurboFan이라는 compiler를 통해서 컴파일을 하고 최적화된 기계어로 다시 실행한다. 즉, 반복될수록 코드 실행 속도가 빨라진다.
:컴파일러는 코드 전체를 읽고 변환하여 실행시키고, 인터프리터는 코드를 한줄씩 읽고 실행시킨다. 즉 인터프리터 방식의 코드는 속도는 빠르나 최적화가 덜 되어 있을 수 있다.
링크
evan-moon.github.io/2019/06/28/v8-analysis/
728x90
반응형
'Programming-[Frontend] > Javascript' 카테고리의 다른 글
[링크] 자바스크립트 파일 로딩 원리, 주의점 (0) | 2021.01.04 |
---|---|
Javascript / 기초 / 비동기 프로그래밍(Asynchronous) : Async/await (0) | 2020.09.27 |
Javascript / 기초 / 비동기 프로그래밍(Asynchronous) : Promise (0) | 2020.09.27 |
Javascript / 기초 / 비동기(Asynchronous), 콜백(callback), setTimeout (0) | 2020.09.21 |
Javascript / Tips / MDN 문서에서 대괄호 [ ] (brackets)의 의미 (0) | 2020.09.18 |