Dead Code

Ordinary Corrupt Memory Love (with Jean Boussier (byroot))


Listen Later

In this episode of Dead Code, host Jared Norman speaks with Jean Boussier, a key contributor to the Ruby community and Shopify engineer, about the challenges of concurrency in Ruby, particularly the Global VM Lock (GVL). Jean explains that while the GVL was originally implemented to simplify Ruby’s design, it now limits parallel execution, sparking debate on whether it should be removed. He argues that many Ruby applications are more CPU-bound than previously thought and suggests improving Ruby’s thread scheduler as a more practical short-term solution rather than eliminating the GVL entirely. The discussion also explores Ractors, Ruby’s experimental approach to parallelism, which remains unstable and impractical for most applications. Jean envisions a future where Ractors become more viable, gradually leading to broader concurrency improvements. The episode wraps up with insights on profiling tools and the evolving landscape of Ruby performance optimization.


Links:


Jean Boussier’s Blog

Jean’s GitHub

Ivo Anjo’s GVL Profiling Talk (RubyConf)

Ivo Anjo’s GVL Profiling Tool

Jean’s Blog Post: “So, You Want to Remove the GVL?”

Jean’s Blog Post: “The Mythical IO-Bound Rails App”

Ruby Ractors Documentation


Dead Code Podcast Links:


Mastodon

X


Jared’s Links:


Mastodon

X

twitch.tv/jardonamron

Jared’s Newsletter & Website


Episode Transcript


Hosted on Acast. See acast.com/privacy for more information.

...more
View all episodesView all episodes
Download on the App Store

Dead CodeBy Jared Norman