TruffleRuby
@TruffleRuby
Followers
2K
Following
235
Media
14
Statuses
307
A High-Performance Ruby Implementation on top of @GraalVM. No longer active on X, see https://t.co/8zyzzTZynH and https://t.co/bYkaWTz2ht
Joined January 2017
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://t.co/SPHk7255ry
github.com
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...
0
6
24
TruffleRuby 24.2 is released!ππ It uses the new Java Panama API in JVM mode to speedup C extensions like sqlite3, trilogy & json by 2 to 3 times! It optimizes encoding negotiation, and updates to Ruby 3.3! All changes: https://t.co/7Vr6BCiXzc Blog post:
0
3
10
This release addresses several performance issues detected while getting a large Rails app running on TruffleRuby at Shopify. Iβll write up a blog post with more details soon-ish. In the meanwhile, please give it a try. It should run Rails applications quite well.
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://t.co/4SZlOT58JS Available via ruby-install/ruby-build/rbenv/asdf/rvm/setup-ruby as usual.
0
1
7
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:
0
0
1
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://t.co/4SZlOT58JS Available via ruby-install/ruby-build/rbenv/asdf/rvm/setup-ruby as usual.
github.com
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...
1
3
11
@k0kubun FWIW @TruffleRuby is 45 times faster than YJIT on that benchmark and more importantly has the same performance for all 3 variants!
gist.github.com
GitHub Gist: instantly share code, notes, and snippets.
2
2
14
I wrote (somewhat extensively) about the current state of the Ruby language frontend, including Prism, LRama, "universal" parser, and much more. I hope this post is able to answer all of the questions I keep getting about where everything is heading. https://t.co/d6it5weNt3
railsatscale.com
In Ruby 3.3.0, a new standard library was added to CRuby called Prism. Prism is a parser for the Ruby language, exposed as both a C library (optionally usable by CRuby) and a Ruby library (usable as...
5
23
89
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 is now using Prism as its Ruby parser! π This means *all* the Ruby 3.3 syntax is supported, no exception! It is also twice as fast as the previous parser written in Java! And future Ruby syntax will be available very quickly in TruffleRuby.
0
0
1
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.
1
0
1
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:
github.com
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...
1
2
30
GraalVM for JDK 22 is here!π What's new: https://t.co/nfsWLeM4Kp The release notes: https://t.co/eR5sxC0jzU Download now!π https://t.co/ueQ1ZUwV0j
#GraalVM @Java #Java22
medium.com
Today we are releasing GraalVM for JDK 22!
5
104
288
I would like to thank all contributors to Prism, which improved and will improve so much Ruby tooling & implementations: @kddnewton haldun @JemmaIssroff @eregontp @flavorjones @froydnj @make_now_just @theHessParker @tom_enebo @vinistock and many more:
0
0
8
This was a large effort which started a year ago and was the main focus of @andrykonchin 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
1
0
4
TruffleRuby is now using Prism as its Ruby parser! π This means *all* the Ruby 3.3 syntax is supported, no exception! It is also twice as fast as the previous parser written in Java! And future Ruby syntax will be available very quickly in TruffleRuby.
1
12
77
TruffleRuby 23.1.2 is released!ππ This is a patch release and contains important bug fixes as well as fixing issues with XCode 15 on macOS. ChangeLog:
github.com
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...
0
1
4
@TruffleRuby is doing well on the plb2 benchmarks at https://t.co/Tx0Kx5tvUU, between Node.js/V8 and LuaJIT for total time. TruffleRuby is labeled as rb:graal+ on the picture.
0
8
16
This means the childprocess (5+) gem is now perfectly compatible on all Rubies, including TruffleRuby! (the previous backends had various issues: https://t.co/vRAuatqXgA)
Woot, my PR to replace childprocess many backends by pure-Ruby Process.spawn has been finally merged: https://t.co/tV5gx5WPPj 2000 lines less, no more calling low-level C, and it should be fully compatible! Thank you @shanedasilva for taking maintenance of this gem! #Ruby #OSS
0
0
8
This is now complete, https://t.co/zdO2Z3nY4O reimplemented Hash in TruffleRuby in https://t.co/5O2y7AhBH8 in a faster and more compact way! It will be in TruffleRuby 24.0 π
github.com
This implements a "Compact" approach to hash tables, described at a high level here. TLDR : This is a representation strategy that efficiently (hopefully!) allows insertion-order...
We are excited to have MMosy ( https://t.co/zdO2Z3nY4O) join us for a for a Google Summer of Code and work on implementing a faster and more compact Hash representation in TruffleRuby! #GSoC2023
0
2
9