2 ms·
This was a nice article, and I thank you for providing those references at the end. The article makes it seem as if TruffleRuby is a Shopify project, where thi
by zomglings 6y ago
This was a nice article, and I thank you for providing those references at the end.
The article makes it seem as if TruffleRuby is a Shopify project, where this GitHub repo seems to differ on that point: https://github.com/oracle/truffleruby https://github.com/oracle/truffleruby. What's the deal?
I'm also very curious about how much TruffleRuby helps you save in infrastructure costs. It looks like Shopify is starting to put together serious systems around optimization of Ruby code.
- chrisseaton 6y agoWe're working on TruffleRuby at Shopify, but it's an Oracle-led project yes. > I'm also very curious about how much TruffleRuby helps you save in infrastructure costs. We don't have an empirical answer to this yet. We're working on it. We're investing in MRI, TruffleRuby, and many other parts of the Ruby ecosystem.
- zomglings 6y agoCool. Another question since you are around: How many of your sea-of-nodes-level optimizations do you think can be applied instead as AST-level optimizations?
- chrisseaton 6y agoWell you can see the one in the article about sharing the computation from the two branches - there's no way to represent that in an AST, for the very reason that it's a tree - there can only be one user of a node in an AST, but in a graph, multiple nodes can use it. You could introduce some kind of hidden local variables and assign to those, but then you're kind of building a graph in an AST, and might as well use a graph, and those variables are harder to understand for other optimisations. (Note that these aren't 'my' optimisations, I'm just writing about them.)
- thrwaway69 6y agoI am curious if you use https://crystal-lang.org/ https://crystal-lang.org/ at Shopify.
- chrisseaton 6y agoNo, Shopify uses Ruby.