Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
R

rhizome

> 编程语言
Open source

A JIT for Ruby, implemented in pure Ruby

821 stars0 likes1 views
WebsiteGitHub

About

A JIT for Ruby, implemented in pure Ruby

Rhizome - a JIT for Ruby, implemented in pure Ruby

Rhizome is a paedagogical just-in-time compiler (JIT) for Ruby, implemented in pure Ruby. It's not really designed to be used. It's designed to show you how JITs work and why perhaps a JIT for Ruby should be written in Ruby. It's also designed to try to go beyond the trivial aspects of a simple template compiler that introductions to JITs often show - instead it has a proper intermediate representation (IR) and shows how more advanced parts of compilers such as lowering and schedulers work, that people don't usually cover.

Unfortunately Rhizome was a stalled side-project that I never finished. The current state of the repository is as I left it off.

By Chris Seaton.

How to read this repository

You're supposed to read it, not use it!

There are experiments and documents. The experiments are little programs that show you how one part of the system works, often generating graphs as output, and the documents explain things in more depth with some references and some ideas for readers.

To run an experiment run bundle exec experiments/foo.rb. It'll either show some output or will generate a graph. Then also read it.

The recommended reading order is:

  • Parser
  • Bytecode
  • Interpreter
  • Inline caching
  • Intermediate representation
  • Construction
  • Graphviz
  • Optimisations
  • Inlining
  • Handles and tagging
  • Lowering
  • Scheduler
  • Code generation
  • Registers
  • Memory
  • Assembler
  • Disassembler
  • Deoptimisation

I'm very sorry it's not more polished! Hopefully you can get something out of it.

Running

% brew install graphviz
% bundle install
% bundle exec rspec

Licence

Copyright (c) 2016-2017 Chris Seaton. Available under the MIT licence.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Ruby

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言