summaryrefslogtreecommitdiffstats
path: root/contrib/persistent-https
diff options
context:
space:
mode:
authorDerrick Stolee <stolee@gmail.com>2026-04-06 13:27:27 +0000
committerJunio C Hamano <gitster@pobox.com>2026-04-06 12:02:30 -0700
commite8e5453ab8794cf29afe0a616d74319442b676bd (patch)
treeb09152e1583945b54b303f4affafcb58d0233a85 /contrib/persistent-https
parent295fb82264cc8be565a5da8259b103cbc6a41728 (diff)
downloadgit-e8e5453ab8794cf29afe0a616d74319442b676bd.tar.gz
git-e8e5453ab8794cf29afe0a616d74319442b676bd.zip
p6011: add perf test for rev-list --maximal-only
Add a performance test that compares 'git rev-list --maximal-only' against 'git merge-base --independent'. These two commands are asking essentially the same thing, but the rev-list implementation is more generic and hence slower. These performance tests will demonstrate that in the current state and also be used to show the equivalence in the future. We also add a case with '--since' to force the generic walk logic for rev-list even when we make that future change to use the merge-base algorithm on a simple walk. When run on my copy of git.git, I see these results: Test HEAD ---------------------------------------------- 6011.2: merge-base --independent 0.03 6011.3: rev-list --maximal-only 0.06 6011.4: rev-list --maximal-only --since 0.06 These numbers are low, but the --independent calculation is interesting due to having a lot of local branches that are actually independent. Running the same test on a fresh clone of the Linux kernel repository shows a larger difference between the algorithms, especially because the --independent algorithm is extremely fast when there are no independent references selected: Test HEAD ---------------------------------------------- 6011.2: merge-base --independent 0.00 6011.3: rev-list --maximal-only 0.70 6011.4: rev-list --maximal-only --since 0.70 Signed-off-by: Derrick Stolee <stolee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib/persistent-https')
0 files changed, 0 insertions, 0 deletions