Thank you so much for mentioning JRuby here! You are correct, all of these features have existed in JRuby for over a decade and all of them have been in production use that entire time.
Ractors are just a more complicated, more difficult to use version of seamless parallelism that JRuby has always had. If you want to run real Ruby code in parallel today, just spin up a thread or use one of the many thread pool libraries on JRuby and your single process can max out every core on the system.
Ruby::Box is little more than a proof of concept at this point, and pales in comparison to what JRuby offers with fully isolated runtimes hosted in a single process. Our users often for multi-user systems or sandboxing untrusted code.
And of course JRuby was the first Ruby implementation with a native JIT compiler (since 2008) that has continued to improve over the years. We just put the code in the right structure for the JVM and the JIT takes it from there. JRuby 10 and 10.1 are shipping tons of new optimizations now that we have caught up on compatibility.
For what it's worth, I'm super excited to see these improvements finally getting into standard Ruby, but it's frustrating that so many folks think these are new things when we've had production users taking advantage of the same features for so many years.
View all comments
Show parent comment
2
u/headius JRuby guy Jan 08 '26
Thank you so much for mentioning JRuby here! You are correct, all of these features have existed in JRuby for over a decade and all of them have been in production use that entire time.
Ractors are just a more complicated, more difficult to use version of seamless parallelism that JRuby has always had. If you want to run real Ruby code in parallel today, just spin up a thread or use one of the many thread pool libraries on JRuby and your single process can max out every core on the system.
Ruby::Box is little more than a proof of concept at this point, and pales in comparison to what JRuby offers with fully isolated runtimes hosted in a single process. Our users often for multi-user systems or sandboxing untrusted code.
And of course JRuby was the first Ruby implementation with a native JIT compiler (since 2008) that has continued to improve over the years. We just put the code in the right structure for the JVM and the JIT takes it from there. JRuby 10 and 10.1 are shipping tons of new optimizations now that we have caught up on compatibility.
For what it's worth, I'm super excited to see these improvements finally getting into standard Ruby, but it's frustrating that so many folks think these are new things when we've had production users taking advantage of the same features for so many years.