• Charles Nutter

    Optimizing Ruby

    About Charles Nutter

    Charles works on JVM languages at Red Hat, focusing on Ruby but expanding to other languages soon. He has worked on JRuby for the past eight years and has been a JVM enthusiast since Java 1.0. Charles hopes to make JRuby the best Ruby implementation for high performance, big data, and heavy loads, and to use lessons learned from JRuby to help the JVM and other languages that run on it meet their potential.

    This talk

    Over the past 6 years, my focus on the JRuby project has usually been performance. I've worked on JRuby's bytecode compiler, optimizations to the runtime and core classes, improvements to memory use and allocation rates, and the removal of concurrency bottlenecks. Over that same time we've managed to increase JRuby's performance by orders of magnitude, in some cases approaching the speed of compiled Java.

    This talk will go over the major performance leaps we've had during that time, starting with the disabling of ObjectSpace and proceeding through recent enhancements like instance-variable packing and backref framing. You will gain a better understanding of what makes Ruby fast or slow, how you can write more efficient Ruby code, and what implementations like JRuby are doing to make Ruby perform even better in the future.