Hello everyone,


In the last year we’ve ported YJIT to Rust, and YJIT also now supports Arm64 CPUs (Mac M1/M2, AWS Graviton, Raspberry Pi & more) in addition to x86-64 on Mac/Linux and BSD.


I’m writing this because, as we near the 3.2 release 🎁, I really hope that YJIT will be available ✨ as part of precompiled Ruby packages and Ruby binaries, as much as possible.


In order to build CRuby with YJIT enabled, on a supported platform, you should only need to install rustc >= 1.58.0 before running the CRuby ./configure script. That is all. The configure script should auto-detect rustc and enable building YJIT.


Some instructions for installing rustc on various platforms:


# Cross-platform setup script for the Rust toolchain

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh


or


# On Debian-based distros:

$ sudo apt install rustc


You can check that your ruby binary has been built with YJIT by running:


# should contain the string +YJIT

$ ruby --yjit -v 


Feel free to reach out if you encounter any issues.


Happy Holidays! 🎅🎄🎁


- Maxime & the YJIT team