Главная
Study mode:
on
1
Intro
2
Heap Compaction In a Rails app
3
Heap Before Compaction
4
Compaction Process
5
Compaction Goals
6
Heap Comparison Before and After Compaction
7
Empty Destination Required! Movement
8
Sweep Process After Marking
9
Sweep + Update References Sweep is Paused
10
Sweep Continues Finish up!
11
Ruby Class Hierarchy
12
Sweep Process Sweeping Classes
13
Sweep + Move Process After Marking
14
Crash Backtrace
15
mprotect() requirements
16
Ruby Page Allocation
17
Memory Usage Over Time jemalloc
18
Old Size vs New Size
19
Page Widen Diff
20
Compact + Read Barrier
21
Using Instruments
22
Bottleneck: mprotect
23
Comparing to Master
24
Automatic Compaction in Action
25
Auto Compaction Control
26
Major GC: Objects Per Second (higher is better)
Description:
Explore the intricacies of automatic garbage collection compaction in MRI Ruby in this 34-minute conference talk. Delve into the evolution from manual to automatic compaction processes introduced in Ruby 2.7, examining implementation techniques like read barriers and concurrent GC execution. Gain insights into heap management, memory usage optimization, and the challenges faced during automation. Analyze the compaction process, including sweep operations, reference updates, and crash handling. Investigate Ruby's class hierarchy, page allocation, and memory usage patterns. Learn about performance bottlenecks, instrumentation tools, and the impact of automatic compaction on garbage collection efficiency. Discover how to control auto-compaction and compare its performance to previous implementations.

Automatic GC Compaction in MRI

Ruby Central
Add to list
0:00 / 0:00