3 ms·
> just do their own Ruby implementation instead "just"... Several other Ruby JIT projects (Rubinius, JRuby, TruffleRuby, etc) have poured tons of resources, a
by byroot 5y ago
> just do their own Ruby implementation instead
"just"...
Several other Ruby JIT projects (Rubinius, JRuby, TruffleRuby, etc) have poured tons of resources, and while they perform very well, the adoption is still very low because keeping up with the main implementation takes tons of effort.
On the other hand YJIT managed to speedup real world codebases with pretty much 100% compatibility in under a year of development by a fairly small team.
Shopify already invest quite a lot in TruffleRuby, that's the new implementation moonshot you call for, YJIT is the more grounded, shorter term hedge.
- pjmlp 5y agoI am fully aware of it, and spending now several months rewriting YJIT into Rust/Zig is supposed to get back that money (developer hours x $ per hour) exactly how?
- byroot 5y ago> spending now several months rewriting YJIT I think you overestimate the size of the YJIT codebase. It's a very dense codebase in term on developer hours, translating it is far cheaper than it was to develop it from scratch. It also doesn't come from out of nowhere, Alan already spent time experimenting on this idea with good results. > is supposed to get back that money (developer hours x $ per hour) exactly how? It's explained in the ticket, the goal is to have a better velocity once it's done. You say you're fully aware of it but just the comment above you were advocating for something that took years to other VMs. Maybe have a little more faith in the YJIT team?
- weatherlite 5y ago> I think you overestimate the size of the YJIT codebase. So is it worth the hassle of introducing a new language? I like the enthusiasm argument, but tbh I don't see many Rust devs become interested developing core Ruby just because a small part of it is written in Rust. My gut feeling is saying better to just keep it in C. But anyway super excited about what the Shopify guys are doing, I want them to succeed no matter what approach they choose.
- byroot 5y ago> So is it worth the hassle of introducing a new language? Just because it's small in term of line of code, doesn't mean it isn't tricky to maintain and extend. It's all explained on the ticket.