Message in a bottle
summary
Ruby has 59 implementations but three are production-grade; MRI uses a bytecode interpreter that repeatedly looks up methods so dispatch dominates cost; Rubinius replaces repeated lookup with an inline cache for three classes, keeps per-call-site compiled bytecode, and generates machine code via an LLVM-based JIT, letting a debugger slow only the breakpointed method; JRuby leverages invoke dynamic bootstrap/guard/fallback to hand call-site linking to the JVM and approach near-Java call speed; precompiling a Rails app to native is possible but usually not worth it.
AI-written summary · about








