Hacker News new | ask | show | jobs
by cutler 1955 days ago
Ruby 3 seems to be going the way of Perl 6, ie. always about to be more efficient/faster sometime in the future. I hope not but isn't there a limit to how much you can re-jig an interpreted language designed in the early 90s? The same applies to Python.
2 comments

> Ruby 3 seems to be going the way of Perl 6, ie. always about to be more efficient/faster sometime in the future.

“Perl 6” hasn’t been a thing for more than a year.

As for Ruby 3, the concurrency improvements are here today. The Actor-model parallelism of Ractors is here, if experimental, today. JIT improvements are here today.

Yes, there's also more stuff on the horizon building on that, but it is simply not the case that efficiencies from Ruby 3 are so e kind of continuously receding mirage.

To be clear: "Perl 6" has been renamed to the Raku Programming Language (https://raku.org using the #rakulang tag on social media) and is very much a thing :-)
The same also applies to Javascript.
Yup, only the Node runtime is very fast, pretty much 2x-3x times faster than Python 3.6 and Perl 5.26 and 4-5x faster than Ruby 2.4 for non I/O operations (loop, push to array, set hash keys). Only Lua and Luajit beats it. Raku/Perl6 was still slower than Ruby last time I checked. My tests were crunching primes and the Raku foreach loop had worse performance than the loop statement (ugly C-style loop). For number crunching Raku is slower probably because of the rational math.

Anyway, I like Ruby more than any of those languages, so hopefully speed in 3.0 is at least on par with Python and Perl now.

Now Ruby just needs someone putting Google-level resources into optimizing the runtime (since most of Node's performance comes from v8)
I don't think anyone put google-level cash into LuaJIT but it still manages to be pretty fast.