[#106355] [Ruby master Bug#18373] RBS build failure: '/include/x86_64-linux/ruby/config.h', needed by 'constants.o'. — "vo.x (Vit Ondruch)" <noreply@...>
Issue #18373 has been reported by vo.x (Vit Ondruch).
28 messages
2021/12/01
[ruby-core:106936] [Ruby master Bug#18454] YJIT slowing down key Discourse benchmarks
From:
"k0kubun (Takashi Kokubun)" <noreply@...>
Date:
2021-12-31 21:23:38 UTC
List:
ruby-core #106936
Issue #18454 has been updated by k0kubun (Takashi Kokubun).
To see what's going on, could you also try running some iterations (at least 10, the default --yjit-call-threashold) before starting performance measurement and/or increasing the number of iterations?
----------------------------------------
Bug #18454: YJIT slowing down key Discourse benchmarks
https://bugs.ruby-lang.org/issues/18454#change-95757
* 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: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>