Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
November 14, 2023 10:25

YJIT - Yet Another Ruby JIT

YJIT has been merged upstream, and is now an official part of Ruby 3.1 and 3.2.

For more information on how to build and use YJIT, see the YJIT README.

If you want to report bugs or ask questions about YJIT, please open an issue on the Shopify/ruby repository. When reporting bugs, please include as much detail as possible regarding your current setup (e.g. OS, platform, Ruby version), and the console commands you used to run YJIT.

To cite this project in your publications, please use this bibtex snippet:

author = {Chevalier-Boisvert, Maxime and Kokubun, Takashi and Gibbs, Noah and Wu, Si Xing (Alan) and Patterson, Aaron and Issroff, Jemma},
title = {Evaluating YJIT’s Performance in a Production Context: A Pragmatic Approach},
year = {2023},
isbn = {9798400703805},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {},
doi = {10.1145/3617651.3622982},
booktitle = {Proceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes},
pages = {20–33},
numpages = {14},
keywords = {dynamically typed, optimization, just-in-time, virtual machine, ruby, compiler, bytecode},
location = {Cascais, Portugal},
series = {MPLR 2023}