Whose Memory is it Anyway

Ruby’s dynamic nature makes for a great developer experience but causes challenges during compilation. More information gives the compiler more opportunities to generate better code.

In this talk, I’ll show how statements can be optimized, re-ordered, and removed in ZJIT. We will discuss a new side effect analysis system, show the improvements in code generation due to this design, and discuss the future performance increases that the effect system may lead to.

  • Jacob
    Jacob

    Jacob joined the Ruby Infrastructure team in late 2024 and works on ZJIT. They have a background in binary analysis and are based in Vermont.