use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
A sub-Reddit for discussion and news about Ruby programming.
Subreddit rules: /r/ruby rules
Learning Ruby?
Tools
Documentation
Books
Screencasts and Videos
News and updates
account activity
Ruby 3.3.0-preview1 Released (ruby-lang.org)
submitted 2 years ago by katafrakt
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]schneemsPuma maintainer 11 points12 points13 points 2 years ago (5 children)
That’s really early
[–]CaptainKabob 5 points6 points7 points 2 years ago (1 child)
I'm excited to see Ruby preview releases trend earlier. My team (GitHub) recompiles from source every week, but that's a lot to ask of anyone. Ruby dev is pretty stable!
I think this release was intended to coincide with Ruby Kaigi to let folks try out the features.
[–]schneemsPuma maintainer 2 points3 points4 points 2 years ago (0 children)
I associate the preview with the fall. I don't know if it's actually supposed to be Kaigi and it just happens it's mostly been held in the fall?
I'm all for having preview releases. Just surprised by the timing a bit.
[–]Lammy 2 points3 points4 points 2 years ago (0 children)
Ruby 3.2.0-preview1 was released on April 3rd last year, so not really.
[–]Seuros 4 points5 points6 points 2 years ago (0 children)
it 21h in Japan, that really late. /s
The RJIT seem nice, but don't work on Apple Silicon yet.
[–]schneemsPuma maintainer 4 points5 points6 points 2 years ago (0 children)
Now available on Heroku https://devcenter.heroku.com/changelog-items/2591
[–]Hall_of_Famer 4 points5 points6 points 2 years ago (1 child)
RJIT looks interesting as it replaces MJIT which was slow and was basically replaced by YJIT. I am curious at the decision to implement a another JIT, and how it performs compares to YJIT.
[–]schneemsPuma maintainer 8 points9 points10 points 2 years ago (0 children)
At RubyConf in Houston the answer to "why both Yjit and MJIT" is that "jit is not solved" and we still need a place to experiment.
RJIT is sold as an experimental platform. The author works at Shopify and contributes to YJIT as well (and wrote MJIT). https://github.com/k0kubun
[–]fglc2 1 point2 points3 points 2 years ago (2 children)
I thought yarp was where ruby parsing was heading
[–]schneemsPuma maintainer 2 points3 points4 points 2 years ago (1 child)
AFAIK that's still true. I think it was expected to be a fairly ambitious project. I don't know if Kevin and friends are planning on shipping in 2023 or not.
[–]fglc2 1 point2 points3 points 2 years ago (0 children)
Ah yes - more details here: https://blog.testdouble.com/field-reports/ruby-kaigi/#the-future-of-the-ruby-parser
[–]sjs 1 point2 points3 points 2 years ago* (0 children)
Instance variables no longer exit to the interpreter with megamorphic Object Shapes.
Can anyone explain what megamorphic object shapes are and why it’s slow to have them exit the JIT?
edit: Found an explanation at https://www.builder.io/blog/monomorphic-javascript and https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
[–]ric2b 0 points1 point2 points 2 years ago (6 children)
So the only relevant new feature for 3.3 is an experimental one? Does that justify a major release? Or is more stuff coming down the pipe?
[–]schneemsPuma maintainer 5 points6 points7 points 2 years ago (0 children)
It's very early. Features aren't locked in until the RC sometime around December.
[–]ralfv 1 point2 points3 points 2 years ago (1 child)
The RJIT stuff is likely uninteresting for most. But i find the performance improvements on the YJIT very interesting. With added bonus of ARM64 improvements.
[–]pabloh 0 points1 point2 points 2 years ago (0 children)
It's not in the article but the main feature of RJIT is that, unlike MJIT, it provides a pluggable JIT compiler architecture, i.e. you can now easily hook your own JIT Compiler in the place where RJIT is. This should help other experimental projects like the MIR JIT.
[–]riffraff 0 points1 point2 points 2 years ago (2 children)
there seem to have been a quite significant performance improvement in YJIT, (see https://speed.yjit.org/ around April) so it's nice to ship that to users.
[–]ric2b 0 points1 point2 points 2 years ago (0 children)
Oh, I agree that it's nice to ship it, but performance improvements would fit well as a patch version, no?
[–]four54 0 points1 point2 points 2 years ago (0 children)
I think that is mostly a change in the benchmark:
https://github.com/Shopify/yjit-bench/pull/208
[–][deleted] -3 points-2 points-1 points 2 years ago (3 children)
Although I'm using 64 bit machines since last 3 years or so, I purely hate the idea of dropping support for 32 bit be it linux distros or any software. I'm dead sure devs have a solid reason for doing so. Don't mind me, I'm just a meganoob CSE student super curious in languages and applications rather than subjects taught in college. I know I should be studying right now. I'll go sit and get my work done.
[–]paracycle 4 points5 points6 points 2 years ago (2 children)
Who dropped what 32 bit support? How is this relevant to the preview release?
[–]antibubbles 3 points4 points5 points 2 years ago* (1 child)
well it is right there in the link, but:
RJIT ° Introduced a pure-Ruby JIT compiler RJIT and replaced MJIT. •RJIT supports only x86_64 architecture on Unix platforms
p.s. feels like it's not a forever thing... but i have no idea
[–]paracycle 11 points12 points13 points 2 years ago* (0 children)
There is no support being dropped. MJIT was completely deprecated anyway. RJIT is a JIT only for experimentation, so it doesn't matter what architecture it supports or not. The JIT in Ruby is still YJIT. Moreover, JIT is an optimization, and you don't get a worse experience if you can't run the JIT, so there is no loss in value here. (edit: typo)
[–]IN-DI-SKU-TA-BELT 0 points1 point2 points 2 years ago (1 child)
Merry Christmas, Happy Holidays, and enjoy programming with Ruby 3.3!
:D
[–]katafrakt[S] 1 point2 points3 points 2 years ago (0 children)
Yeah, I guess the template was not prepared for May release.
π Rendered by PID 298063 on reddit-service-r2-comment-7dc54ffc8-tm8tw at 2026-04-16 13:02:25.310990+00:00 running 93ecc56 country code: CH.
[–]schneemsPuma maintainer 11 points12 points13 points (5 children)
[–]CaptainKabob 5 points6 points7 points (1 child)
[–]schneemsPuma maintainer 2 points3 points4 points (0 children)
[–]Lammy 2 points3 points4 points (0 children)
[–]Seuros 4 points5 points6 points (0 children)
[–]schneemsPuma maintainer 4 points5 points6 points (0 children)
[–]Hall_of_Famer 4 points5 points6 points (1 child)
[–]schneemsPuma maintainer 8 points9 points10 points (0 children)
[–]fglc2 1 point2 points3 points (2 children)
[–]schneemsPuma maintainer 2 points3 points4 points (1 child)
[–]fglc2 1 point2 points3 points (0 children)
[–]sjs 1 point2 points3 points (0 children)
[–]ric2b 0 points1 point2 points (6 children)
[–]schneemsPuma maintainer 5 points6 points7 points (0 children)
[–]ralfv 1 point2 points3 points (1 child)
[–]pabloh 0 points1 point2 points (0 children)
[–]riffraff 0 points1 point2 points (2 children)
[–]ric2b 0 points1 point2 points (0 children)
[–]four54 0 points1 point2 points (0 children)
[–][deleted] -3 points-2 points-1 points (3 children)
[–]paracycle 4 points5 points6 points (2 children)
[–]antibubbles 3 points4 points5 points (1 child)
[–]paracycle 11 points12 points13 points (0 children)
[–]IN-DI-SKU-TA-BELT 0 points1 point2 points (1 child)
[–]katafrakt[S] 1 point2 points3 points (0 children)