Overview
Syllabus
Intro
Heap Compaction In a Rails app
Heap Before Compaction
Compaction Process
Compaction Goals
Heap Comparison Before and After Compaction
Empty Destination Required! Movement
Sweep Process After Marking
Sweep + Update References Sweep is Paused
Sweep Continues Finish up!
Ruby Class Hierarchy
Sweep Process Sweeping Classes
Sweep + Move Process After Marking
Crash Backtrace
mprotect() requirements
Ruby Page Allocation
Memory Usage Over Time jemalloc
Old Size vs New Size
Page Widen Diff
Compact + Read Barrier
Using Instruments
Bottleneck: mprotect
Comparing to Master
Automatic Compaction in Action
Auto Compaction Control
Major GC: Objects Per Second (higher is better)
Taught by
Ruby Central