핵심 요약
카카오엔터테인먼트의 글은 자바스크립트 V8 엔진의 가비지 컬렉션 동작 원리와 세대 구분, 알고리즘, 최신 개선 기법을 체계적으로 설명합니다.
구현 방법
- 힙은 New space와 Old space로 구분되며, New space는 2개의 semi space로 구성되어 객체가 처음 From space에서 To space로 대피합니다.
- 생존한 객체가 다시 GC를 만나면 Old space로 이동하는 과정을 통해 메모리 단편화를 방지합니다.
- 마이너 GC(Scavenger)와 메이저 GC(Mark-Sweep-Compact, Tri-color)로 각각 New/Old space를 수집합니다.
- Parallel, Incremental, Concurrent, Idle-time GC 같은 최신 기법이 도입되어 stop-the-world 시간을 줄이고 성능을 안정화합니다.
주요 결과
- 다양한 GC 기법이 적용되어 전체 메모리 관리의 효율성과 시스템 응답의 안정성이 향상될 수 있습니다.
- 힙의 세대 구분과 수집 방식의 차이를 이해하는 데 도움이 되며, GC 구현의 확장성에 대한 통찰을 제공합니다.



