V8, C++용 고성능 가비지 컬렉션 라이브러리 공개

High-performance garbage collection for C++

V8 팀이 Blink의 C++ 가비지 컬렉터 Oilpan을 V8 라이브러리로 이식한다. Oilpan은 마크-스윕 방식으로, C++ 객체에 Trace 메서드를 요구하고 소멸자를 파이널라이저로 처리한다. 동시 스위핑을 도입해 백그라운드 스레드에서 죽은 객체를 회수하고, 파이널라이저는 메인 스레드에서 지연 실행한다. Chrome M78에서 메인 스레드 스위핑 시간이 평균 42% 줄었다.

C++은 소멸자에 크게 의존하는데, Oilpan은 애플리케이션 코드 자체의 데이터 레이스를 배제하기 위해 파이널라이저가 메인 스레드에서 실행되도록 강제한다.

이 날의 다른 글

2026-09-15