Ruby: 2020
summary
Argues Ruby must get a JIT to reach 3x faster and proposes converting the C core library into LLVM bitcode so the JIT can see and optimize across C extensions. Describes method vs tracing vs partial-eval JITs, shows how array.min on a literal [1,2] can be folded to the constant 1 by inlining and constant propagation, and recommends injecting profiling hooks into core C methods and tooling to auto-add caches; reports small-scale experiments exist and memory overhead is manageable.
AI-written summary · about
chapters (7)
- 0:00Introduction and credentials
- 4:50Why Ruby needs a JIT
- 10:15Building a JIT compiler
- 22:15JIT compiler techniques
- 30:17Lifting the Ruby core
- 47:42Pragmatic path to Ruby 3
- 49:45Q&A and closing







