Go offline with the Player FM app!
Ordinary Corrupt Memory Love (with Jean Boussier (byroot))
Manage episode 472047893 series 3645584
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
Ivo Anjo’s GVL Profiling Talk (RubyConf)
Jean’s Blog Post: “So, You Want to Remove the GVL?”
Jean’s Blog Post: “The Mythical IO-Bound Rails App”
Dead Code Podcast Links:
Mastodon
Jared’s Links:
Mastodon
Episode Transcript
Hosted on Acast. See acast.com/privacy for more information.
40 episodes
Manage episode 472047893 series 3645584
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
Ivo Anjo’s GVL Profiling Talk (RubyConf)
Jean’s Blog Post: “So, You Want to Remove the GVL?”
Jean’s Blog Post: “The Mythical IO-Bound Rails App”
Dead Code Podcast Links:
Mastodon
Jared’s Links:
Mastodon
Episode Transcript
Hosted on Acast. See acast.com/privacy for more information.
40 episodes
All episodes
×Welcome to Player FM!
Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.