Blazing-fast Code Indexing for Smarter Ruby Tools

Building smart, code-aware developer tools for Ruby should be easier. Today, tools like language servers, documentation generators, and type checkers each implement its own mechanism for understanding Ruby code.

With Rubydex, we introduce a unified code indexer that simplifies static analysis across the entire Ruby ecosystem. Rubydex delivers fast, memory-efficient access to code insights like constant resolution, inheritance linearization, reference tracking, and is accessible from both Ruby and non-Ruby tools via native bindings. After integrating Rubydex in RubyLSP, Tapioca, and Spoom, we observed up to 10x speed improvements and 2x lower memory usage.

In this talk, we'll dive into Rubydex’s architecture, implementation, optimizations, and show how you can leverage it to create the next generation of Ruby developer tools.

  • Alexandre Terrasa
    Alexandre Terrasa

    Alexandre has a PhD in computer science and specializes in typing specifications and implementations. He currently works as a Senior Staff Engineer on the Ruby and Rails Infrastructure team at Shopify. He uses his expertise for the adoption of better Ruby tooling and practices including Sorbet and gradual typing. He previously worked as a core developer on the Nit language for which he implemented parts of the compiler, libraries and tools.