Overview
News
Salaries
Products
People
Growth
Offices
Financials

Overview

The Ruby and Rails Infrastructure team at Shopify exists to help ensure that Ruby and Rails are 100-year tools that will continue to merit being our toolchain of choice. Our goal is to be stewards of the language and ecosystem, both within Shopify and within the open-source community.

News

Blog 2 months ago
Bringing Rails into the Ractor-age
Ractors are now viable in production, and it's time for Rails to embrace them. In this post, we explain why - what Ractors unlock for Rails applications, and the first milestone we're aiming for in the framework.
Read more
Report
Blog 3 months ago
The inliner is yielding benefits for ZJIT
ZJIT's new method inliner helps us specialize even megamorphic block invocations.
Read more
Report
Blog 4 months ago
How I Think About Tests: Skips
You won't want to skip this one
Read more
Report
Blog 5 months ago
A new Register Allocator for ZJIT
We recently landed a new register allocator in ZJIT. Learn about lifetimes, interference graphs, and linear scan - and why a global allocator unlocks features like method inlining.
Read more
Report
Blog 5 months ago
One engine, many tools - Introducing Rubydex
Introducing Rubydex - a portable static analysis engine powering Ruby LSP, Tapioca, Packwerk, and more. One foundation, compounding benefits for the whole ecosystem.
Read more
Report
Blog 6 months ago
Hitting a Reverted Breaking Change in Rust
The story starts with Rust 1.85.0 giving me a surprise SIGTRAP in some test code. For reasons not important here, I had to bump opt-level from 0 to 1 for tests. That made a bunch of tests fail with SIGTRAP, whose default signal handler terminates the proc
Read more
Report
Blog 7 months ago
Using Perfetto in ZJIT
We added Perfetto tracing support to ZJIT so we could visualize and query slow events. Take a look at the pretty colors and see how you can add this to your system too.
Read more
Report
Blog 7 months ago
How ZJIT removes redundant object loads and stores
ZJIT's optimizer now removes redundant object loads and stores, improving JIT performance of CRuby's shape system. This post explains how the optimization works.
Read more
Report
Blog 7 months ago
Engineering Rigor in the AI Age: Building a Benchmark You Can Trust
The Rails Infrastructure team built an open-source benchmarking toolkit to reliably measure Bundler performance improvements, and along the way learned that AI is great for scaffolding tools but engineering rigor - trusting your gut when numbers don't add
Read more
Report
Blog 7 months ago
Faster bundler
How Shopify contributed a series of improvements to Bundler and RubyGems to make gem installation significantly faster.
Read more
Report
Show more news