Speed up methods that depend on diff stats only
What does this MR do?
Speeds up and reduces memory usage of Commit#repo_changes
loop, Repository#expire_avatar_cache
and IrkerWorker
. It's a WIP because it need a new version of gitlab_git
released with these changes.
Are there points in the code the reviewer needs to double check?
N/A
Why was this MR needed?
For large files committed, this method ends up loading them in memory which can consume lots of memory.
What are the relevant issue numbers?
https://gitlab.com/gitlab-org/gitlab-ce/issues/19441#note_13425892
Screenshots (if relevant)
N/A
Does this MR meet the acceptance criteria?
-
CHANGELOG entry added -
Documentation created/updated -
API support added -
Tests-
Added for this feature/bug -
All builds are passing
-
-
Conform by the style guides -
Branch has no merge conflicts with master
(if you do - rebase it please) -
Squashed related commits together