Skip to content

Instantly share code, notes, and snippets.

@SamSaffron
Created November 3, 2021 05:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SamSaffron/ef3144e61bff20d9dc4897370ed21e92 to your computer and use it in GitHub Desktop.
Save SamSaffron/ef3144e61bff20d9dc4897370ed21e92 to your computer and use it in GitHub Desktop.
Discourse Bench Perf
Comparisons:
Categories (2.7 -> 3.0 -> 3.1 -> 3.1 + YJIT)
55 -> 56 -> 54 -> 50
Home page
96 -> 98 -> 92 -> 82
Topic
46 -> 49 -> 46 -> 42
Memory
316556 -> 308720 -> 350080 -> 697696
----
- YJIT is significantly faster than Ruby 2.7 (more than 10% faster for discourse benches)
- Memory with YJIT is significantly higher
- Ruby 3.1 recovered some of the perf regressions Ruby 3.0 exhibited
- Ruby 3.1 has increased memory footprint significantly (even without yjit)
---
categories:
50: 55
75: 58
90: 62
99: 110
home:
50: 96
75: 102
90: 111
99: 168
topic:
50: 46
75: 47
90: 52
99: 76
categories_admin:
50: 54
75: 56
90: 60
99: 95
home_admin:
50: 94
75: 99
90: 104
99: 170
topic_admin:
50: 46
75: 47
90: 52
99: 70
timings:
load_rails: 2968
ruby-version: 2.7.4-p191
rss_kb: 316556
pss_kb: 307160
architecture: amd64
memorysize: 31.32 GiB
physicalprocessorcount: 1
virtual: kvm
processor0: Intel(R) Core(TM) i9-9900KF CPU @ 3.60GHz
operatingsystem: Ubuntu
kernelversion: 5.10.60
---
categories:
50: 56
75: 58
90: 61
99: 131
home:
50: 98
75: 102
90: 108
99: 236
topic:
50: 49
75: 50
90: 52
99: 119
categories_admin:
50: 56
75: 58
90: 61
99: 180
home_admin:
50: 97
75: 101
90: 105
99: 226
topic_admin:
50: 48
75: 49
90: 51
99: 115
timings:
load_rails: 3093
ruby-version: 3.0.2-p107
rss_kb: 308720
pss_kb: 299215
architecture: amd64
kernelversion: 5.10.60
virtual: kvm
operatingsystem: Ubuntu
processor0: Intel(R) Core(TM) i9-9900KF CPU @ 3.60GHz
physicalprocessorcount: 1
memorysize: 31.32 GiB
---
categories:
50: 54
75: 55
90: 56
99: 61
home:
50: 92
75: 95
90: 99
99: 214
topic:
50: 46
75: 47
90: 49
99: 120
categories_admin:
50: 56
75: 57
90: 59
99: 117
home_admin:
50: 96
75: 99
90: 104
99: 255
topic_admin:
50: 47
75: 48
90: 50
99: 55
timings:
load_rails: 2845
ruby-version: 3.1.0-p-1
rss_kb: 350080
pss_kb: 340437
architecture: amd64
kernelversion: 5.10.60
virtual: kvm
operatingsystem: Ubuntu
processor0: Intel(R) Core(TM) i9-9900KF CPU @ 3.60GHz
physicalprocessorcount: 1
memorysize: 31.32 GiB
---
categories:
50: 50
75: 52
90: 55
99: 148
home:
50: 82
75: 85
90: 89
99: 251
topic:
50: 42
75: 43
90: 44
99: 52
categories_admin:
50: 51
75: 52
90: 57
99: 247
home_admin:
50: 85
75: 90
90: 93
99: 277
topic_admin:
50: 43
75: 44
90: 49
99: 187
timings:
load_rails: 2849
ruby-version: 3.1.0-p-1
rss_kb: 697696
pss_kb: 688072
architecture: amd64
kernelversion: 5.10.60
virtual: kvm
operatingsystem: Ubuntu
processor0: Intel(R) Core(TM) i9-9900KF CPU @ 3.60GHz
physicalprocessorcount: 1
memorysize: 31.32 GiB
diff --git a/Gemfile b/Gemfile
index e09839e88a..3b57ac5c49 100644
--- a/Gemfile
+++ b/Gemfile
@@ -92,7 +92,7 @@ gem 'email_reply_trimmer'
gem 'image_optim'
gem 'multi_json'
gem 'mustache'
-gem 'nokogiri'
+gem 'nokogiri' #, path: '../nokogiri'
gem 'loofah'
gem 'css_parser', require: false
@@ -123,7 +123,7 @@ gem 'sidekiq'
gem 'mini_scheduler'
gem 'execjs', require: false
-gem 'mini_racer'
+gem 'mini_racer', '0.5.0.pre' # path: '../mini_racer'
gem 'highline', require: false
@@ -135,6 +135,14 @@ gem 'cose', require: false
gem 'addressable'
gem 'json_schemer'
+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
+
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment