Project

General

Profile

Actions

Task #3418

closed

Lower time spend in Gerrit's "remote: Counting objects" phase during fetch

Added by Jan-Marek Glogowski about 4 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Category:
Gerrit
Target version:
-
Start date:
Due date:
% Done:

100%

Tags:

Description

This phase of the "git fetch" seems to degrade since some time, w.r.t. the time spend in it.
I just did a "git fetch origin" against core with protocol 2:

$ GIT_TRACE_CURL=1 git ls-remote https://git.libreoffice.org/core 2>&1 | grep -i git-protocol
03:11:30.534178 http.c:715              => Send header: git-protocol: version=2
$ time git fetch origin
remote: Counting objects: 378028, done
remote: Finding sources: 100% (2620/2620)
remote: Total 2620 (delta 1206), reused 1711 (delta 1206)
Empfange Objekte: 100% (2620/2620), 5.60 MiB | 2.08 MiB/s, Fertig.
Löse Unterschiede auf: 100% (1206/1206), abgeschlossen mit 809 lokalen Objekten.
Von https://gerrit.libreoffice.org/core
   1abf4e6d07ca..bbbcd382af9e  master                               -> origin/master
   024a39100f7d..b831f4e0ffb4  distro/collabora/cp-6.4              -> origin/distro/collabora/cp-6.4
   f74deaaeeed3..63540cbef648  distro/lhm/libreoffice-6-4+backports -> origin/distro/lhm/libreoffice-6-4+backports
   ad72de8693eb..9b6b6260f04f  feature/eszka                        -> origin/feature/eszka
   710947f020eb..16ab6b6f3d33  libreoffice-7-0                      -> origin/libreoffice-7-0
 + 12edcabdc235...21ab2d10b05c private/tvajngerl/staging            -> origin/private/tvajngerl/staging  (Aktualisierung erzwungen)
   bcbb17df3758..ed2ce3f83245  refs/notes/review                    -> refs/notes/review
Anfordern des Submoduls helpcontent2
Von https://git.libreoffice.org/help
   8539d61c5..56bbf73ad  master     -> origin/master

real    2m5,901s
user    0m8,617s
sys     0m19,221s

My rough estimation of the time spend in "remote: Counting objects" would be 90% of the overall fetch time. The repo was updated in the last 12h - 18h, as you can see from the minimal transfer. My guess is max count is 5k/s, but that generally seems to vary a lot.

Please have a look, if there is some way to optimize this. I was told there is already a "git gc" job every two days.

Actions

Also available in: Atom PDF