v8

    [ Node.js #03 V8 아키텍처 ] Garbage Collection

    지난 포스팅에서는 V8 엔진의 소스코드 컴파일 및 실행하는 과정을 작성하였었습니다. V8엔진에서 Code Caching이 핵심 기술이라고 기술하였는데 어떠한 과정을 거쳐서 진행되는지가 제일 중요합니다. 그렇다면 V8 엔진이 어떻게 작동하는지 조금 더 자세하게 알아보겠습니다. V8의 역할 1) JavaScript 소스 코드를 컴파일 및 실행 2) 힙 메모리 객체에 대한 메모리 할당 3) Garbage Collection 4) 콜스택 핸들링 위의 역할중에 GC가 V8의 핵심 기능이라고 볼 수 있습니다. GC의 역할은 주기적으로 작업이 완료된 객체 정보 수집하여 재사용할 수 있는 메모리로 전환하는 역할을 합니다. 가장 초기 아키텍처(2015년 10월 30일)부터 살펴보면 V8 GC의 대부분이 메인 렌더링 스레..

    [ Node.js #02 V8 아키텍처 JIT ] Node JS V8 Engine 이란?

    들어가기에 앞서 Nodejs 동작원리를 이해하기 위해 V8 공식 홈페이지를 기반으로 과거(2015년)부터 현재(2023년)까지 초기 아키텍처를 변역하며 연구하는 과정입니다. 초기 아키텍처에서 현재 아키텍처로 변화하는 과정에서 어떤 부분이 메모리 누수가 있었고 어떤식으로 해결해왔는지 엔진 전문가가 아닌 입장에서 해석하는 과정이므로 작성에 틀린 내용이 있을 수 있습니다. 또한 공식 사이트에 간단하게 설명되어 있는 부분이 있다면 그 내용도 연구하고 작성하오니 틀린 내용이 있다면 댓글로 남겨주시면 정정하도록 하겠습니다. V8 엔진이란? C++로 개발된 Google의 JavaScript 및 WebAssembly 기반 오픈소스 엔진으로 V8은 JIT compilation를 사용하여 JavaScript 코드를 실행하..