- MRI(Matz’s Ruby Implementation)
- Implemented in C
- Original implementation
- From 1.9.x onwards, incorporates YARV
- mruby
- Lightweight version, for embedded systems
- JRuby
- Implemented in Java, runs on JVM
- Interpreter, JIT compilation (default), AOT compilation
- Can call Java from JRuby and JRuby from Java
- IronRuby
- Runs on .NET
- Can use .NET libraries
- MacRuby
- Before 0.5 uses YARV, after that uses LLVM
- JIT compilation, AOT compilation
- Runs on OSX
- Rubinius
- Mostly implemented in Ruby
- JIT compilation (AOT compilation to machine code is not possible?)
- Virtual machine for bytecode is implemented in C++
- Bytecode to machine code uses LLVM
- MagLev
- Cardinal
- Runs on Parrot Virtual Machine
- HotRuby
- Implemented in Javascript and ActionScript
- Runs in browser
- Topaz
- Written in RPython (a subset of Python)
- Same mechanism as PyPy (Python -> machine code JIT compilation)?
- Crystal
- Ruby-like syntax
- Can call C functions
- JIT compilation, AOT compilation (machine code)