Benoit Daloze

Rubyist, Researcher at Oracle Labs, part of the GraalVM team, TruffleRuby lead. Expressed opinions are my own.

Benoit Daloze boosted:
2025-05-15

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 github.com/oracle/truffleruby/ for more details.

Benoit Dalozeeregon@ruby.social
2025-05-08

My thoughts on the new #Ruby namespaces (bugs.ruby-lang.org/issues/2131) in one sentence:
Sub-interpreters are similar to Namespace + Ractor but with proper isolation, full compatibility, linear scaling and clear semantics.

Compatibility is a key argument here, Ractor can't use most gems.

Benoit Dalozeeregon@ruby.social
2025-05-03

New blog post: “Contributions to ruby/spec”
eregon.me/blog/2025/05/03/cont

Benoit Dalozeeregon@ruby.social
2025-04-17

@galtzo Are you looking at master branch docs? Those reflect the upcoming release. Pretty sure we never had such a mismatch in TruffleRuby.

Benoit Dalozeeregon@ruby.social
2025-03-22

@getajobmike Is it inspired or based on iliabylich.github.io/ruby-ract ? (It looks like so)
It would be nice to have a mention in the README about it.

Benoit Daloze boosted:
2025-03-18

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: github.com/oracle/truffleruby/
Blog post: medium.com/graalvm/whats-new-i

Benoit Dalozeeregon@ruby.social
2025-03-15

@getajobmike What about sending some special message like :stop or :exit to the Ractor? Like what people used to do before Queue#close was added.

Benoit Dalozeeregon@ruby.social
2025-03-14

New blog post: “Matching Regexps 200 Times Faster”
eregon.me/blog/2025/03/14/matc

Benoit Daloze boosted:
2025-03-10

latest from @nelhage has way more plot twists than i expected! blog.nelhage.com/post/cpython-

Benoit Daloze boosted:
Lucian Ghindalucian@ruby.social
2024-11-05

If I were to recommend only three Ruby articles published last week to read, here is what I would recommend:

Benchmarking Ruby Parsers by @eregon
Next Generation Out of Band Garbage Collection by @byroot
Rails with Postgres - Fuzzy Searches by Bill Tihen

#ThreeRubyLinks #ShortRuby #Ruby #Articles

Benoit Daloze boosted:
Mike Perham :sidekiq:getajobmike@ruby.social
2024-10-29

Ruby 3.4's new `prism` parser is 2.5x faster than the old `parse.y` parser, according to @eregon. Nice work!

eregon.me/blog/2024/10/27/benc

Benoit Dalozeeregon@ruby.social
2024-10-29

"Benchmarking Ruby parsers is trickier than one might expect, but overall the result is clear: ..." (new blog post)
eregon.me/blog/2024/10/27/benc

Benoit Daloze boosted:
2024-09-18

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

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: rubykaigi.org/2023/presentatio

Benoit Daloze boosted:
2024-09-12

The Steam Families feature is out of beta:

store.steampowered.com/news/ap

I'm still amazed such a pro-consumer move was made. Most media companies have been using digital as a way to restrict rights in ways physical never could.

Steam is addressing my largest issue with digital games: having to buy multiple copies when only one family member is playing at a time. They've made purchasing & license management easier, too. I'm inclined to sell to switch the kids from Nintendo Switch to Steam Deck.

Benoit Dalozeeregon@ruby.social
2024-09-02

@nirvdrum Interesting, do you have a concrete example? Does rb-sys actually duplicates logic of some C-API fonctions ?

Benoit Daloze boosted:
2024-05-24

Ruby: The future of frozen string literals

by @fxn
gist.github.com/fxn/bf4eed2505

Benoit Dalozeeregon@ruby.social
2024-04-25

@john "Now it’s Ruby that’s 5 times faster than Crystal!!!"
Than crystalruby*, it's not fair to consider that to be Crystal's performance (also the Crystal version should use a while loop too to be fair, though that may not change anything for Crystal).

Benoit Dalozeeregon@ruby.social
2024-04-25

@john @phillmv @truffleruby TruffleRuby already optimizes this very well and makes all 3 variants the same performance, and 45 times faster than YJIT: gist.github.com/eregon/8e104d2

Benoit Daloze boosted:
2024-03-20

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/oracle/truffleruby/
Blog post: medium.com/graalvm/whats-new-i

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst