Disable method replacement in avatar loading
We've seen a significant performance penalty when using `BatchLoader#__replace_with!`. This defines methods on the batch loader that proxy to the 'real' object using send. The alternative is `method_missing`, which is slower. However, we've noticed that `method_missing` can be faster if: 1. The objects being loaded have a large interface. 2. We don't call too many methods on the loaded object. Avatar uploads meet both criteria above, so let's use the newly-released feature in https://github.com/exAspArk/batch-loader/pull/45. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/60903
Showing
... | @@ -285,7 +285,7 @@ gem 'gettext_i18n_rails', '~> 1.8.0' | ... | @@ -285,7 +285,7 @@ gem 'gettext_i18n_rails', '~> 1.8.0' |
gem 'gettext_i18n_rails_js', '~> 1.3' | gem 'gettext_i18n_rails_js', '~> 1.3' | ||
gem 'gettext', '~> 3.2.2', require: false, group: :development | gem 'gettext', '~> 3.2.2', require: false, group: :development | ||
gem 'batch-loader', '~> 1.2.2' | gem 'batch-loader', '~> 1.4.0' | ||
# Perf bar | # Perf bar | ||
gem 'peek', '~> 1.0.1' | gem 'peek', '~> 1.0.1' | ||
... | ... |
Please register or sign in to comment