Memory is the most critical resource for most Ruby applications. In this talk we'll dig into Ruby's heap dump capacity to debug production memory problems. In this intermediate to advanced talk we'll look at memory tooling for other languages and VMs like V8 and the JVM. If you've attempted to speed up an app and wanted to go deeper, this talk is for you.
We're going to talk about production memory in Ruby apps. We'll look at taking a Ruby heap dump, and what's in it. Then we'll look into using this to debug a specific problem. We will then look into how other languages handle heap dumps. Mostly node and the JVM. We'll compare different their different models and relative merits. Finally we'll conjecture about the future of memory tooling in Ruby and attempt to see the future.
We will talk about other memory related things such as the popular "freeze" patches and how the Ruby 2.3 pragma will affect your app performance.
This will be on the intermediate to advanced side of things. There will be a few direct takeaways, but mostly it is a think piece. The ideal attendee for this is someone who is vaguely aware of how Ruby retains and uses memory. They have already tried doing some performance benchmarking or tuning and are interested in going deeper.
I write a lot about memory. I also maintain a suite of very popular benchmarks for Rails apps. This talk will be very technical, but i'm good at using stories to explain technical concepts. It will still be engaging, interesting, and fun.