TruffleRuby

146 Followers
6 Following
26 Posts
A High-Performance Ruby Implementation on top of @graalvm. Posts by @eregon. TruffleRuby logo copyright (C) 2017 Talkdesk Inc, CC BY 4.0.
Websitehttps://truffleruby.dev
GitHubhttps://github.com/truffleruby/truffleruby

We’re pleased to announce that TruffleRuby 33.0.1 is now available. This is a bug fix release that notably adds support for structured event reporting in Rails 8.1 (and any other usage of Fiber storage). We’ve also addressed some non-UTF-8 encoding issues, Integer & Float ceil with negative precision, and mkmf.rb’s `—target-rbconfig`.

More details at:

https://github.com/truffleruby/truffleruby/releases/tag/graal-33.0.1

We recommend all TruffleRuby users upgrade. Available now in common Ruby installers.

Release TruffleRuby 33.0.1 · truffleruby/truffleruby

TruffleRuby is a high-performance implementation of the Ruby programming language. TruffleRuby aims to be fully compatible with the standard implementation of Ruby, MRI. More information is availab...

GitHub
TruffleRuby kicks off the year with a new website, a new release, and a blog post to go with it! 🎉
https://truffleruby.dev/blog/truffleruby-33-is-released
Many changes:
* New versioning
* Thread-safe Hash
* No system dependencies anymore
* Installs in 2 seconds
* Development is now fully in the open
TruffleRuby 33 is Released

TruffleRuby 33.0.0 is released and available on GitHub, in your favorite Ruby installer, and on Maven Central!

TruffleRuby
TruffleRuby 25.0 is released! 🚀🎉
It can now run native extensions in parallel, just like Ruby code already ran in parallel in Threads on TruffleRuby!
It also features many compatibility improvements and notably support for custom Digest algorithms.
https://github.com/oracle/truffleruby/releases/tag/graal-25.0.0
Release TruffleRuby 25.0.0 · oracle/truffleruby

TruffleRuby is a high-performance implementation of the Ruby programming language. It aims to be fully compatible with the standard implementation of Ruby, MRI. More information is available at htt...

GitHub
TruffleRuby can now run C/native extensions in parallel, just like Ruby code runs in parallel in Threads on TruffleRuby!
Native extensions need to opt in with rb_ext_ractor_safe(true) or rb_ext_thread_safe(true). Many gems already do that.
See https://github.com/oracle/truffleruby/blob/master/doc/user/thread-safe-extensions.md for more details.
truffleruby/doc/user/thread-safe-extensions.md at master · oracle/truffleruby

A high performance implementation of the Ruby programming language, built on GraalVM. - oracle/truffleruby

GitHub
TruffleRuby 24.2 is released!🚀🎉
It uses the new Java Foreign Function and Memory API when used in JVM mode to speedup C extensions like sqlite3, trilogy and json by 2 to 3 times!
It redesigns encoding negotiation so many String operations are now faster.
It updates to Ruby 3.3 and contains many compatibility and bug fixes.
All changes: https://github.com/oracle/truffleruby/releases/tag/graal-24.2.0
Blog post: https://medium.com/graalvm/whats-new-in-graal-languages-24-2-328471fc4137
Release TruffleRuby 24.2.0 · oracle/truffleruby

TruffleRuby is a high-performance implementation of the Ruby programming language. TruffleRuby aims to be fully compatible with the standard implementation of Ruby, MRI. More information is availab...

GitHub
New blog post: “Matching Regexps 200 Times Faster”
https://eregon.me/blog/2025/03/14/matching-regexps-200-times-faster.html
Matching Regexps 200 Times Faster

A blog about Ruby, Performance and Concurrency

On the Edge of Ruby

TruffleRuby 24.1 is released!🚀🎉 It updates to Ruby 3.2.4, gets a lot of compatibility and bug fixes, and significant performance improvements: https://github.com/oracle/truffleruby/releases/tag/graal-24.1.0

The main performance improvement is a complete review of all 100+ inline caches to ensure they use splitting to keep these inline caches as fast and monomoprhic as possible. You can find more information about splitting and inline caches in this talk: https://rubykaigi.org/2023/presentations/eregontp.html

Release TruffleRuby 24.1.0 · oracle/truffleruby

TruffleRuby is a high-performance implementation of the Ruby programming language. TruffleRuby aims to be fully compatible with the standard implementation of Ruby, MRI. More information is availab...

GitHub

Native extensions are now compiled using the system toolchain and executed natively instead of using GraalVM LLVM (Sulong), which leads to faster startup, faster warmup, better compatibility, smaller distribution and faster installation.

Full support for the Ruby 3.2 & 3.3 syntax, including pattern matching, was made possible by adopting the Prism parser, which is about twice as fast as the old parser!

TruffleRuby 24.0 is released!🚀🎉 It ships with 3 major features:
* Native extensions are executed natively for faster warmup
* Near-complete support for Ruby 3.2 (97.4% of specs)
* Full support for the Ruby syntax by adopting the Prism parser

All changes: https://github.com/oracle/truffleruby/releases/tag/graal-24.0.0
Blog post: https://medium.com/graalvm/whats-new-in-truffle-and-graal-languages-40027a59c401

Release TruffleRuby 24.0.0 · oracle/truffleruby

TruffleRuby is a high-performance implementation of the Ruby programming language. TruffleRuby aims to be fully compatible with the standard implementation of Ruby, MRI. More information is availab...

GitHub
This was a large effort which started a year ago and was the main focus of Andrii Konchyn for the last 4 months, but is all worth it maintenance-wise, especially since the old parser (based on parse.y) was difficult to update. Prism also has a much cleaner AST and is well designed.