Re: Bad performance when using git log --parents (used by gitk)
- From
Jeff King <peff@peff.net>
- Date
- Apr 4, 2019, 01:36 UTC
- Message-ID
- <20190404013606.GB4409@sigill.intra.peff.net>
- In-Reply-To
- <nycvar.QRO.7.76.6.1904022017510.41@tvgsbejvaqbjf.bet>
On Tue, Apr 02, 2019 at 08:20:05PM +0200, Johannes Schindelin wrote:
Show 16 quoted lines
> > 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.
-Peff