RUBY 3.0 - SINGLE PROCESS, MULIPLE POSSIBILITIES
summary
Ruby 3.0 embeds multiple Ruby runtimes called guilds and channels to get real parallelism without breaking compatibility, letting separate guilds run on separate cores and communicate by copying or messaging; shared structures should be immutable by default (frozen strings) and small changes reduce cross-guild locking. Current internals: generational GC, a global method cache that can cost about 25% when invalidated, and a target of 3x speed improvement. Practical advice: avoid OpenStruct and runtime metaprogramming, design small isolated components, and expect deployment to shift toward single multi-guild processes.
AI-written summary · about
chapters (18)
- 0:00Introduction and setup
- 1:48Ruby internals overview
- 4:03Object ownership and freezing
- 5:07Global interpreter lock explained
- 7:15Ruby garbage collection changes
- 10:31Global method cache impact
- 14:07Deployment challenges in Ruby
- 16:16Immutability in Ruby 2.4
- 18:24Ruby 3.0 introduction
- 19:48Guilds and parallel execution
- 22:48Guild communication channels
- 24:14Soft typing and limitations
- 25:16Design challenges in Ruby 3.0
- 27:47Ruby 3.0 performance goals
- 28:52New deployment possibilities
- 30:38Preparing code for Ruby 3.0
- 33:10Best practices for performance
- 36:37Q&A session








