Skip to content
Snippets Groups Projects

Disable method replacement in avatar loading

Merged Stan Hu requested to merge sh-disable-batch-load-replace-methods into master

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

Edited by Stan Hu

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply
Loading