On Rails

Jean Boussier & IO-Bound Misconceptions

20 snips
Jul 14, 2025
Jean Boussier, Senior Staff Engineer at Shopify and a key member of the Rails Core team, dives into the intricacies of Rails performance. He explains the distinction between IO-bound and CPU-bound issues and sheds light on Ruby’s Global VM Lock and its concurrency implications. Jean emphasizes the importance of understanding gem dependencies rather than treating them as magic. He shares insightful perspectives on background jobs and performance optimization, advocating for deeper engagement with Rails to enhance development productivity.
Ask episode
AI Snips
Chapters
Books
Transcript
Episode notes
ADVICE

Own Your Gem Dependencies

  • Treat your gem dependencies like your own code and open the gem code to understand or fix issues.
  • Do not wait for maintainers; fork and patch gems yourself for immediate fixes.
ADVICE

Explore Gems Through Editing

  • Open a gem locally with bundle open to explore and add debug statements.
  • Experiment with gems to better understand and fix them; it’s easier than you think.
INSIGHT

Latency vs Throughput Explained

  • Fast web request response (latency) differs from handling many requests at once (throughput).
  • Unicorn excels at latency by avoiding thread contention, while Puma aims for higher throughput.
Get the Snipd Podcast app to discover more snips from this episode
Get the app