V8이란
V8은 웹 브라우저를 만드는데 기반을 제공하는 오픈소스 자바스크립트 엔진이다. ECMAScript 규격의 C++로 작성되었으며, 자바스크립트를 바이트코드로 컴파일하고 실행하는 방식을 사용한다. ( JIT )
자바스크립트 엔진이란
자바스크립트 엔진은 자바스크립트 코드를 실행하는 프로그램 혹은 인터프리터를 말한다. 자바스크립트 엔진은 표준적인 인터프리터로 구현될 수도 있고 혹은 자바스크립트 코드를 바이트코드로 컴파일하는 JIT( just - in - time ) 컴파일러로 구현할 수도 있다.
자바스크립트 엔진은 ECMAScript에 맞게 개발되었으며 아래는 유명한 프로젝트들이다.
- SpiderMonkey : 최초의 자바스크립트 엔진. 넷스케이프 네비게이터에 사용됐고 현재는 파이어폭스에 사용됨.
- Chakra(JScipt9) : 인터넷익스플로러
- Chakra(JavaScipt) : 마이크로소프트엣지
- V8(C++) : 구글 크로니움 오픈소스 프로젝트
V8의 등장배경
웹 브라우저 내부에서 자바스크립트의 속도 개선을 위해서 고안되었다. 자바스크립트 엔진은 웹 특성상 유저와 상호작용을 위해서 즉시성이 있는 인터프리터 방식을 사용하는데, 코드가 많아질 수록 속도가 느려져서 구글맵같은 기능을 구현하기 어려웠다. 따라서 V8은 속도 향상을 위해 자바스크립트 코드를 더 효율적인 머신 코드로 번역한다.
구글의 크로니움 프로젝트 2008년에 처음 배포되었다. 몽고DB와 Node.js에서도 사용가능하다.
출처
댓글