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.