From: "byroot (Jean Boussier)" Date: 2022-01-04T08:45:49+00:00 Subject: [ruby-core:106959] [Ruby master Bug#18454] YJIT slowing down key Discourse benchmarks Issue #18454 has been updated by byroot (Jean Boussier). What about YJIT_STATS=1 ? That's the part that will tell us why it's slower. > Oddly bootsnap may be causing an RSS increase 338 -> 370 (on 2.7.5 290 -> 315) RSS isn't necessarily the best mesure, but yes bootsnap incur increased memory usage for its load path index. A couple years ago I had some ideas to drop the index at the end of the boot process, I'll try look into it when I get back to work next week, fell free to open an issue on Shopify/bootsnap. > fiber.so: undefined symbol: ruby_Init_Fiber_as_Coroutin From `3.1.0` with just the backport? Sounds weird, something must have gone wrong during compilation. > 3.2 is going to be a rough upgrade it seems, the File.exists deprecation is going to be very rough Meh, we test ruby-head nightly, so I'll likely open PRs about it on popular gems. And for private code it's just a search and replace, no big deal. Also it's just a warning, you can turn it off easily until your dependencies are fixed. ---------------------------------------- Bug #18454: YJIT slowing down key Discourse benchmarks https://bugs.ruby-lang.org/issues/18454#change-95782 * Author: sam.saffron (Sam Saffron) * Status: Open * Priority: Normal * ruby -v: 3.1.0p0 * Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN ---------------------------------------- 4 out of 6 key Discourse benchmarks used in: https://github.com/discourse/discourse/blob/main/script/bench.rb are slower under YJIT. Vanilla (median) -> YJIT (median) Categories: 47ms -> 51 Home page: 85 -> 86 Topic: 42 -> 38 Categories Admin: 48 -> 50 Home Admin: 83 -> 84 Topic Admin: 43 -> 39 Boot: 1740ms -> 2484ms RSS: 358756 -> 640540 This was run with a simple `RUBYOPT='--enable-yjit' ruby script/bench.rb -i 100 -s` To get Discourse working with Ruby 3.1 you will need: ``` diff --git a/Gemfile b/Gemfile index 9cdfbf21a9..403c428718 100644 --- a/Gemfile +++ b/Gemfile @@ -263,3 +263,11 @@ gem 'colored2', require: false gem 'maxminddb' gem 'rails_failover', require: false + +if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.0.0") + gem 'net-pop', require: false + gem 'net-smtp', require: false + gem 'net-imap', require: false + # waiting on new version of i18n gem + gem 'psych', '3.3.2' +end ``` It is clear that memory usage and boot time have to take a hit here, but slowing down home page seems concerning. Any ideas on what we should test here and how to narrow this down? -- https://bugs.ruby-lang.org/ Unsubscribe: