Issue 950: Pushing new reviews to old projects takes 45 seconds
Status:  Accepted
Owner: ----
Project Member Reported by sop@google.com, May 18, 2011
ReceiveCommits' "Validate that the new commits are connected" logic uses TOPO REVERSE sorting, which forces JGit to traverse the entire project history in order to compute the results. This is slow, so slow that it takes 45 seconds to push a new change to the linux-2.6 repository.
Dec 18, 2012
#6 Joey.Jia...@gmail.com
If pushing to refs/changes/ which takes even higher time, sometimes more than 3 minutes. But if having change-id line and pushing to refs/for which is faster.
Why not replace jgit or optimize it?
Sep 15, 2014
Project Member #7 gustaf.l...@sonyericsson.com
Is the push performance still an issue for you guys? 


Performance Fix: Minimize number of advertisedHaves
https://gerrit-review.googlesource.com/#/c/51910/

...solved most of our push performance issues.

There have been a few JGit fixes too, which should affect the performance in a positive way.

Nov 13, 2014
#10 jake...@gmail.com
Is this 45 seconds across the board?

Feb 16, 2015
#11 sschuberth
Pushing performance is still an issue for us, see [1]. The "Processing changes" step on the client takes almost 2 minutes here. That is on Gerrit 2.9.4 to a project with about 40k changes.

Is 40k changes considered much? How many refs/changes do you guys have?

[1] https://groups.google.com/d/msg/repo-discuss/pWe2GarzJA4/LdeHFckdt50J