Re:Ruby 3.3's YJIT Runs Shopify's Production Code 15% Faster
by DylanSp on Wednesday September 20, 2023 @10:54AM
(#37584974)
I'm probably misinterpreting the numbers, but it sounds like the 3.3 interpreter also got some significant performance improvements - if 3.3 YJIT got a 13% speedup compared to 3.2 YJIT and a 15% speedup compared to 3.3 interpreter, that sounds like the 3.2 YJIT has only slightly better performance than the 3.3 interpreter. Is that interpretation correct? If so, what were the improvements in the 3.3 interpreter, or was 3.2 YJIT just not much of a speedup?
[ Parent
| on HN ]
Re:Ruby 3.3's YJIT Runs Shopify's Production Code 15% Faster
by p8 on Wednesday September 20, 2023 @11:49AM
(#37585704)
> Overall YJIT is 61.1% faster than interpreted CRuby!
> On Railsbench specifically, YJIT is 68.7% faster than CRuby!
For 3.2 there also was an improvement of the interpreter:
> We now speed up railsbench by about 38% over the interpreter, but this is on top of the Ruby 3.2 interpreter, which is already faster than the interpreter from Ruby 3.1. According to the numbers gathered by Takashi, the cumulative improvement makes YJIT 57% faster than the Ruby 3.1.3 interpreter.
Re:Ruby 3.3's YJIT Runs Shopify's Production Code 15% Faster
by ksec on Thursday September 21, 2023 @08:29AM
(#37596623)
That is exactly my question as well. Why would I want YJIT if it is only 15% faster than normal Ruby? Given the memory overhead.
Re:Ruby 3.3's YJIT Runs Shopify's Production Code 15% Faster
by p8 on Friday September 22, 2023 @03:59AM
(#37609214)
The 15% is for the total request time including waiting for blocked IO.
> All that work allowed us to speedup our storefront total web request time by 10% on average, which is including all the time the web server is blocked on IO, for example, waiting for data from the DB, which YJIT obviously can't make any faster.