The Ruby memory system can be tricky. Configuring it isn't easy. I'll show you a new simple tool to optimize your Ruby binary's memory settings.
You'll learn about the CRuby memory resources and how you check them. Let's optimize your memory usage to keep memory small and keep garbage collection fast.
This talk covers the CRuby memory system: slots, allocations, garbage collection, heap. It'll cover GC.stat, GC profiling mode and how to measure overhead and fragmentation. I introduce a new tool to use a GC.stat dump from your application to configure its memory environment variables for later runs.
The planned topics:
This will be an intermediate/advanced talk. Intermediate developers will get simple concrete recommendations, while advanced developers especially will get more background on CRuby's memory system.
I've written several CRuby memory profiling posts for our company blog (http://engineering.appfolio.com) and the talk expands on those. I do a lot of measuring Ruby, then writing and speaking about it.
I'm a long-time C programmer (15+ years) turned Ruby programmer (10+ years) and SRE/DevOps (3+ years). I've spent lots of quality time with the Ruby source code, including memory and how it's profiled. I also do a lot of Ruby benchmarking in my job.