Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.

  • README — features and the monthly changelog
  • Benchmark dashboard — continuously updated yjit-bench comparison, re-run on every push to master that touches the interpreter
  • ruby/spec dashboard — spec compliance for this repository
  • rubyspec-stats — daily ruby/spec pass rates across Ruby implementations