GAURAV VARMA
Ruby 3.3 brings two major under-the-hood updates: the Prism parser and the RJIT compiler.
These experimental features are aimed at making Ruby faster, more consistent, and more compatible with tools like linters, syntax checkers, and future language evolution.
What is Prism?
Prism is a new parser written in C and built with modern compiler techniques. It aims to replace the legacy Ripper
parser and provides a full-fidelity AST (Abstract Syntax Tree).
This allows better tooling, static analysis, and possibly safer syntax-level transformations.
What is RJIT?
RJIT (Ruby JIT) is a new in-process JIT compiler intended to eventually replace MJIT. It’s simpler, more portable, and focused on real-world production performance, especially in Rails apps.
Why it matters
- Prism will improve RuboCop, IDEs, and dev tools
- RJIT brings runtime speed improvements
- Both are modular and future-ready
- Enables a better language server (LSP) in Ruby tooling
Enabling RJIT
In Ruby 3.3, RJIT is experimental and off by default. Enable it with:
1ruby --enable-rjit my_script.rb
Resources
Summary
Prism and RJIT mark a new era for Ruby internals — laying the foundation for faster execution, better tooling, and a smoother developer experience in future Ruby versions.