From: Ævar Arnfjörð Bjarmason Date: Thu, 27 Oct 2011 21:01:50 GMT Subject: Re: [PATCH 2/2] pack-objects: optimize "recency order" Message-ID: In-Reply-To: <1310084657-16790-3-git-send-email-gitster@pobox.com> On Fri, Jul 8, 2011 at 02:24, Junio C Hamano wrote: >  - Commits at the tip of tags are written together, in the hope that >   revision traversal done in incremental fetch (which starts by >   putting them in a revision queue marked as UNINTERESTING) will see a >   better locality of these objects; We recently upgraded to 1.7.7 and I've traced a very large slowdown in packing down to this commit. On our repository packing used to take around 30 seconds, it now takes about 4 minutes. Which means that cloning the repository went from being slightly slow to pretty intolerable. I haven't dug into why this is but I'm pretty sure it's because this patch makes Git behave pathologically on repositories with a large amount of tags. git.git itself has ~27k revs / and ~450 tags, or a tag every ~60 revisions. Try it on e.g. a repository with a couple of hundred thousand revs and a tag every 10-20 revisions.