diff --git a/CHANGELOG b/CHANGELOG
index 8d0e377e31accb1a72a173c80d1a4f7255c74f6e..864b8afaf7db4969d20a74640515afc291e35415 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -57,7 +57,7 @@ v 8.11.0 (unreleased)
   - Sensible state specific default sort order for issues and merge requests !5453 (tomb0y)
   - Fix RequestProfiler::Middleware error when code is reloaded in development
   - Catch what warden might throw when profiling requests to re-throw it
-  - Speed up Commit#repo_changes
+  - Speed up and reduce memory usage of Commit#repo_changes and Repository#expire_avatar_cache
 
 v 8.10.3
   - Fix Import/Export issue importing milestones and labels not associated properly. !5426
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 3d95344a68ffa8a9dda956c009632a96e39560f3..c1170c470ead7f88045eac04034f55b0b125a83f 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -372,7 +372,7 @@ class Repository
     # We don't want to flush the cache if the commit didn't actually make any
     # changes to any of the possible avatar files.
     if revision && commit = self.commit(revision)
-      return unless commit.raw_diffs.
+      return unless commit.raw_diffs(deltas_only: true).
         any? { |diff| AVATAR_FILES.include?(diff.new_path) }
     end