Thread (8 messages) flat view 8 messages, 4 authors, 2016-06-15

Re: [PATCH 2/2] pack-objects: optimize "recency order"

From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2016-06-15 22:52:20

On Fri, Jul 8, 2011 at 02:24, Junio C Hamano [off-list ref] 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help