7 ms·
I thought Shopify wanted to migrate to TruffleRuby which would likely give them at least a 2x speedup?
by acchow 4y ago
I thought Shopify wanted to migrate to TruffleRuby which would likely give them at least a 2x speedup?
- JohnBooty 4y agoTragically, one of the principals behind TruffleRuby (and researcher at Shopify) was Chris Eaton and he passed away a few months ago. I'm not sure where this leaves TruffleRuby itself, or plans to implement it at Shopify. (Rest in peace, Chris, and may your memory be a blessing to those who knew you)
- saagarjha 4y agoOh, yikes, I didn't realize this. Felt like I had seen him around on the site just yesterday :(
- the-alchemist 4y agoso sad, I had no idea. We lost a brilliant mind...
- eddsh1994 4y agoLooks like it’s still a WIP https://github.com/oracle/truffleruby/commits?author=eregon https://github.com/oracle/truffleruby/commits?author=eregon
- cutler 4y agoWith due respect to the tireless efforts of the TruffleRuby team TruffleRuby always seemed fated to be forever almost ready. I first came across it in 2013, I think it was, but there was always a not-quite-ready factor. If I remember the show-stopper was that it was unlikely to ever be Rails compatible but I may be wrong.
- chucke 4y agohttps://ruby.social/@eregon/109280839376585363 https://ruby.social/@eregon/109280839376585363 Tl;Dr it runs rails for a while already, it even runs mastodon.
- jacques_chester 4y agoThere are still folks working on TruffleRuby at Shopify.
- mirekrusin 4y agoChris Seaton
- JohnBooty 4y agoThank you.
- esprehn 4y agoYou have his name slightly wrong, it was Chris Seaton. Here was the announcement: https://twitter.com/flavorjones/status/1600436490885947393 https://twitter.com/flavorjones/status/1600436490885947393
- JohnBooty 4y agothank you for the correction! typing with a hand injury today :-/
- the-alchemist 4y agoI don't quite understand the YJIT excitement. A few benchmarks show that TruffleRuby generally beats YJIT, sometimes by a 10x margin. [0]: https://eregon.me/blog/2022/01/06/benchmarking-cruby-mjit-yjit-jruby-truffleruby.html https://eregon.me/blog/2022/01/06/benchmarking-cruby-mjit-yj... says
- kenhwang 4y agoAnd by many accounts Oracle makes the fastest database yet everyone still uses Postgres. Also our experience with truffleruby is death by a thousand subtle differences. It might be 97% compatible but chasing down that 3% undocumented behavior difference on every minor version update for every gem got exhausting fast. Everyone uses and tests against cruby.
- v3ss0n 4y agoWhat? When was oracle free or opensource?
- merb 4y agoand when was oracle the fastest database? You are not allowed to even publish that metric....
- Spivak 4y agoI do have some sympathy for companies who don’t want to have to deal with a constant barrage of benchmarks that are egregiously wrong. HN has been host to quite a few of these spats over the years and I wouldn’t want to deal with it, there are pretty much only downsides to letting people poorly benchmark your product and have every incentive to get it wrong.
- merb 4y agowell to be fair, most benchmarks are of course not comparable with the real world. People should always use what works best for them.
- xfalcox 4y agoYou can enable YJIT and get a ~30% speedup by passing an extra environment variable to your Docker container. Moving away from CRuby to an alternative Ruby is a lot harder than that. Also Oracle.
- brigandish 4y ago> Moving away from CRuby to an alternative Ruby is a lot harder than that. In what way? Truffleruby passes over 97% of CRuby's specs and it runs on my command-line without any problems so far. It was easy to install too. I'm sure if I dig into those failing specs I'll find something but will it be important? I'd love to know.
- ironick09 4y agoIt’s probably not hard for someone to run the interpreter and try a few things out - but large private code bases are where the struggles would begin I imagine.
- brigandish 4y agoSure, but the Devil's in the detail, especially when there's nothing obvious.
- ewalk153 4y agoFrom the Truffleruby repo [1]: > Regarding performance, TruffleRuby is by far the fastest Ruby implementation on the yjit-bench benchmark suite which includes railsbench, etc. To achieve this performance TruffleRuby needs a fair amount of warmup, as other advanced JIT compilers do. If you find any performance issue, please see this guide. One benefit of YJIT + cruby is it doesn't have the same warmup costs. If you're deploying many times a day, this JIT warmup becomes a dominant factor. [1] https://github.com/oracle/truffleruby https://github.com/oracle/truffleruby
- semiquaver 4y ago> Also Oracle Very little of Graal/Truffle is locked behind an oracle license. The community edition is FOSS and within 5-10% of the performance of the paid version (so still an order of magnitude above MRI with or without YJIT). The situation is very similar to HotSpot/OpenJDK. https://www.graalvm.org/community/opensource/ https://www.graalvm.org/community/opensource/
- jacques_chester 4y agoShopify invests in both. Source: I work in a team that's nearby as the org chart flies.
- chucke 4y agoThe core team is split across oracle and shopify. They are still actively interested in it, even for research purposes.