Rubinius
summary
Rubinius rewrites MRI 1.8 internals into a new C++ VM that is type-safe inside the VM, with safe C++ casts that raise Ruby TypeError instead of segfaulting, and it just moved to the main branch after six months of work. Primitives are declared in-place with build-time markers and auto-exported, method dispatch uses global and inline caches plus specialized executors, and method contexts live in a fast context-area to avoid GC churn. Extensions can be rebuilt and isolated to recover from segfaults. Microbenchmarks are strong, real apps are still slow; LLVM JIT and algorithmic refactors are in active exploration.
AI-written summary · about
chapters (9)
- 0:00Start
- 10:00Safe Casts
- 17:54Exporting Methods
- 26:12Method Dispatch
- 26:41Hierarchy Look Up
- 32:58Spaghetti Stack
- 38:24Native Method Contacts
- 41:44Recover from Seg Fault
- 46:04Improving Algorithmic Performance
related talks
52mRubinius
44mRubinius in One Act OR Rubinius: A War on Two Fronts
34mRubinius - What Have You Done For Me Today?
01h 08mStrengthening the Ruby Ecosystem Part I: Rubinius
37mRubinius - tales from the trenches of developing a ruby implementation
19mRubinius — Ruby implemented with Ruby
19mRubinius — Ruby implemented with Ruby
38mMessage in a bottle
