Ruby 3.2’s YJIT is Production-Ready
31–40 of 304 posts
Re: Ruby 3.2’s YJIT is Production-Ready
#32Earlier quoted context omitted.
The big difference compared to HHVM is that this is part of Ruby. It's not a separate project. Shopify is sponsoring much of the effort, but it's owned by the community. At Stripe, there are millions of lines of Ruby. Lots of it would be better off in a different language—if it had been written in another language initially. Ruby is easy to hire for, there are tens of thousands of pages of documentation for the code…
> Switching is possible, but the cost to replace it is half a decade or more. I would imagine if you're going to switch millions of lines from one language to another - you wouldn't do it by hand - you'd write something transpile it? Has any company actually done something like this before - especially somewhat recently? I can't imagine anyone doing it by hand...
Re: Ruby 3.2’s YJIT is Production-Ready
#33What does 10% speedup mean? Doing 10% more work in the same time or needing 10% less time for the same amount of work?
I have to admit my brain seems to be short circuiting on this one. Aren't these 2 ways of saying the same thing?
If it takes 1/2 the time to do something, you can do double the work in that time.
If on the other hand, you can do 1.5x the work in the same time, it means you've made it use 33% less time than before.
With 10% less time you're taking 1/0.9 = 1.11111x more work in the same time.
Re: Ruby 3.2’s YJIT is Production-Ready
#34What does 10% speedup mean? Doing 10% more work in the same time or needing 10% less time for the same amount of work?
Re: Ruby 3.2’s YJIT is Production-Ready
#35What does 10% speedup mean? Doing 10% more work in the same time or needing 10% less time for the same amount of work?
I have to admit my brain seems to be short circuiting on this one. Aren't these 2 ways of saying the same thing?
Needing 10% less time for the same amount of work means you can do 11(.1)% more work in the same time.
Re: Ruby 3.2’s YJIT is Production-Ready
#36Man that is a terrible graph. Why use tiny fonts and smush them together, them make the image small as well. I wish I could read the charts...
Re: Ruby 3.2’s YJIT is Production-Ready
#37Earlier quoted context omitted.
> I'm pretty sure (there isn't a lot of info on how to enable it in production workloads The YJIT is not on by default in ruby 3.2, you have to specifically enable it. If you aren't sure if you have enabled it... what makes you pretty sure you have enabled it? It seems possible you have not enabled it, if you aren't confident you know how to do so? I am not using it yet myself, and don't want to put any possibly inco…
Also worth noting that the Ruby 3.2 Docker image can't run with YJIT yet, so if your production setup is in a container, it's most likely not using YJIT. GitHub issue link here: https://github.com/docker-library/ruby/pull/398
$ podman run -it -e RUBYOPT="--yjit" ruby:3.2
irb(main):001:0> puts RUBY_DESCRIPTION
ruby 3.2.0 (2022-12-25 revision a528908271) +YJIT [aarch64-linux]
=> nilRe: Ruby 3.2’s YJIT is Production-Ready
#38I first time learn Ruby from zero to "hero" in production confidently is in just under a week. And as far as i know, no other language could bring me such experience.
Re: Ruby 3.2’s YJIT is Production-Ready
#39Re: Ruby 3.2’s YJIT is Production-Ready
#40Earlier quoted context omitted.
The big difference compared to HHVM is that this is part of Ruby. It's not a separate project. Shopify is sponsoring much of the effort, but it's owned by the community. At Stripe, there are millions of lines of Ruby. Lots of it would be better off in a different language—if it had been written in another language initially. Ruby is easy to hire for, there are tens of thousands of pages of documentation for the code…
Love this post, although: Ruby is easy to hire for I've always had the opposite experience!