monoruby
monoruby is a Ruby implementation written from scratch in Rust, featuring a register-based bytecode VM and a just-in-time (JIT) compiler for x86-64 and aarch64 (Apple Silicon). It is fast — comparable to CRuby with YJIT/ZJIT on many benchmarks — and has no dependency on any other Ruby runtime.
This site is monoruby’s documentation: how to build and run it, how it performs, and how it works inside.
- The Getting Started section covers installing and building monoruby, and the build options and test workflow used when developing it.
- The Performance and Compatibility section is where the live dashboards are explained: Benchmark for speed against CRuby+YJIT, Compatibility for ruby/spec conformance. The Changelog sits alongside them.
- The Architecture section contains overview pages: start with the Architecture Overview.
- The Design Documents section renders the full design documents from the repository’s
doc/directory (some are written in Japanese, as marked).
Quick start
git clone https://github.com/sisshiki1969/monoruby.git
cd monoruby
cargo install --path monoruby # nightly Rust is installed automatically by rust-toolchain.toml
monoruby -e 'puts "hello"'
See Installation and Build for prebuilt binaries, the GitHub Action, platform notes and the full command-line reference.
Related resources
- README — features and the monthly changelog
- Benchmark dashboard — continuously updated yjit-bench comparison, re-run on every push to
masterthat touches the interpreter - ruby/spec dashboard — spec compliance for this repository
- rubyspec-stats — daily ruby/spec pass rates across Ruby implementations