Re: [PATCH v3 30/30] t/perf: implement performace tests for pseudo-merge bitmaps
- From
Jeff King <peff@peff.net>
- Date
- May 25, 2024, 03:13 UTC
- Message-ID
- <20240525031317.GA1889620@coredump.intra.peff.net>
- In-Reply-To
- <Zk+epE2S4KErPyVk@nand.local>
On Thu, May 23, 2024 at 03:53:08PM -0400, Taylor Blau wrote:
> - GIT_TEST_USE_PSEDUO_MERGES=0 \ > + GIT_TEST_USE_PSEUDO_MERGES=0 \
Whoops.
Show 10 quoted lines
> Sure enough, that shows us a little gap between the "no pseudo-merges" > and "with pseudo-merges" case: > > ``` > Test this tree > ----------------------------------------------------------------------------------- > 5333.2: git rev-list --count --all --objects (no bitmaps) 3.54(3.45+0.08) > 5333.3: git rev-list --count --all --objects (no pseudo-merges) 0.43(0.40+0.03) > 5333.4: git rev-list --count --all --objects (with pseudo-merges) 0.12(0.11+0.01) > ```
OK, that seems more like it. 300ms is nice, but there's just not that much improvement to make here.
This one is much more exciting:
Show 7 quoted lines
> ``` > Test this tree > --------------------------------------------------------------------------------------- > 5333.1: git rev-list --count --all --objects (no bitmaps) 122.29(121.31+0.97) > 5333.2: git rev-list --count --all --objects (no pseudo-merges) 21.88(21.30+0.58) > 5333.3: git rev-list --count --all --objects (with pseudo-merges) 5.05(4.77+0.28) > ```
Very nice improvement.
I wonder what we spend the final 5s on. Maybe just book-keeping to assemble all the tips (and maybe even parse tip commits? I can't remember if we ever optimized that out). Anyway, that's all out of scope for your series. Getting rid of the expensive traversal would let us focus on those final bits. ;)
-Peff