Explore the optimization journey of Ruby's `is_a?` method in this 27-minute conference talk from RubyConf Mini 2022. Discover how the `is_a?` method, along with its synonyms like case statements, rescue statements, protected methods, and `Module#===`, became a surprising performance bottleneck in Ruby versions prior to 3.2. Follow John Hawthorn's process of identifying this issue in production environments, implementing optimizations, debugging, and ultimately transforming the method into assembly language for YJIT. Learn how these improvements have resulted in faster, constant-time performance for `is_a?` and its various flavors, enhancing overall Ruby application efficiency.
Overview
Syllabus
RubyConf Mini 2022: Making .is_a? Fast by John Hawthorn
Taught by
Confreaks