Orinoco: The New V8 Garbage Collector
summary
Orinoco redesigns V8 GC into a high‑performance, low‑latency system that moves most work off the main thread by changing the old codebase incrementally and landing features live. It implements mostly parallel and concurrent marking, compaction and sweeping, uses up to 7 helper threads for parallel scavenges and concurrent marking, supports incremental marking and pre‑tenuring, and reports sample timings like 2.7 ms minor GC and 9.8 ms major GC on a workstation.
AI-written summary · about
chapters (19)
- 0:00Intro
- 0:36ORINOCO: THE NEW V8 GARBAGE COLLECTOR
- 3:06OORT online demo
- 4:19Perceptions of Garbage Collection
- 6:19Generational Heap Layout
- 6:50Choose Your Own Adventure!
- 7:30Minor GC (Scavenge)
- 10:08The Generational Hypothesis
- 10:48Major GC (Full Mark-Compact)
- 11:34Reclaiming Dead Memory - Sweeping
- 11:44Defragmenting Memory - Compacting
- 12:40Terminology for Orinoco
- 13:32Incremental
- 15:37Reality of Garbage Collection
- 15:48Parallel Scavenging
- 19:36GC Triggers
- 20:45GC Switch
- 21:45Idle Time GC
- 23:05Takeaways
related talks
23mUnderstanding Node.js Garbage Collection
33mReaching Ludicrous Speed
24mTrash Talk - Understanding Memory Management
24mDemystifying V8 and JavaScript Performance
26mArchitectural Changes In New V8 versions
38mUnderstanding Memory Behavior on Nodejs
24mYou Did What? Understanding Node.js Optimizations
17mV8 engine, JS Code Interpretation, and Execution
