Re: [PATCH 0/2] performance regression in mark_edges_uninteresting
- From
Jeff King <peff@peff.net>
- Date
- Jan 20, 2014, 22:29 UTC
- Message-ID
- <20140120222936.GA25291@sigill.intra.peff.net>
- In-Reply-To
- <20140120212845.GA11451@sigill.intra.peff.net>
On Mon, Jan 20, 2014 at 04:28:45PM -0500, Jeff King wrote:
Show 8 quoted lines
> [1/2]: t/perf: time rev-list with UNINTERESTING commits > [2/2]: list-objects: only look at cmdline trees with edge_hint > > Here's t/perf/p0001 output that shows the problem: > > 0001.5: rev-list --objects $commit --not --all > fbd4a703^ fbd4a703 HEAD > 0.04(0.04+0.00) 0.28(0.27+0.00) +600.0% 0.04(0.04+0.00) +0.0%
Those numbers are on git.git. Obviously 600% is a lot, but 24ms is not. However, the cost is a factor of the tree size times the number of refs. For the "homebrew.git" repository stored at GitHub, which has ~28,000 refs (mostly pointing at pull-request tips in refs/pull), the numbers are much more dramatic:
fbd4a703^ fbd4a703 HEAD 0.50(0.46+0.02) 8.23(8.17+0.06) +1546.0% 0.50(0.48+0.01) +0.0%
-Peff