Re: Bad performance when using git log --parents (used by gitk)
- Date: Wed, 3 Apr 2019 21:36:07 -0400
- From: Jeff King <peff@xxxxxxxx>
- Subject: Re: Bad performance when using git log --parents (used by gitk)
On Tue, Apr 02, 2019 at 08:20:05PM +0200, Johannes Schindelin wrote:
> > Hitting some quadratic complexity algorithm explains why the "degradation"
> > is so huge. And if I understand it correctly we are more or less "unlucky"
> > to hit such access patterns more often in the new repo.
> > Anyway, nice to see that you already have some ideas regarding how to
> > improve this.
> In the meantime, maybe the commit graph feature can help you?
> git config --global core.commitGraph true
> git config --global gc.writeCommitGraph true
> git commit-graph write --reachable
> The idea being that the commit graph extracts a lot of information
> pre-emptively and makes the lookup of those bits faster than unpacking the
> commits all the time.
I'd definitely encourage Björn (or anybody with a biggish repo) to check
out the commit-graph work, because it's really cool. But it won't help
much here, because the quadratic loop is just on linked-list insertion.
We're literally spending all of our time chasing pointers in memory.