Guilherme Carreiro

Talk: Building native Ruby extensions in Rust

Staff Developer at Shopify

Building native Ruby extensions in Rust

Ruby is getting better/faster every day thanks to YJIT, GC en- hancements, and other updates. Yet, some domains hit the perfor- mance barrier, and what to do when that happens?In this talk, I’ll show how to build a production-ready Ruby gem with a Rust native extension and discuss the pros and cons.

2024 is such a great time to be a Ruby developer! The language is getting better and faster everyday with initiatives like YJIT, enhanced GC, and Prism.

Even when we face the language bounderies, we no longer need to default to C, it’s easier than ever extending ours gems using the modern and fast tooling that Rust ecosystem brings.

In this talk, I’m going to share my journey at Shopify creating a Ruby gem with a Rust native extension, the advantages, challenges, best practices, and how to avoid common pitfalls.


Hey! I’m Guilherme!

Although Ruby is my favorite language, it wasn’t the first one I learned. I started programming with Pascal over 20 years ago when my uncle taught me. That’s when I discovered my lifelong passion for creating things with code.

Currently, I work as a staff dev at Shopify, where I build tools for other devel- opers who create themes in Liquid. My responsibilities range from the CLI and the Liquid language server running on their machines to the infrastructure that showcases their work in storefronts.

Prior to Shopify, I spent five great years at Red Hat, focusing on open-source tooling for the DMN and BPMN specs. That was all about making life easier for developers too.

I’m always eager to connect with folks and talk about developer tooling or good restaurants. Let’s chat! :)