From: Junio C Hamano Date: Sun, 31 May 2026 01:01:58 +0000 (+0900) Subject: Merge branch 'kk/commit-reach-optim' into next X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=eeb8d0c2074a0d0e340b2b8385d262aa424953af;p=thirdparty%2Fgit.git Merge branch 'kk/commit-reach-optim' into next The check for non-stale commits in the priority queue used by `paint_down_to_common` and `ahead_behind` has been optimized by replacing an O(N) scan with an O(1) counter, yielding performance improvements in repositories with wide histories. * kk/commit-reach-optim: commit-reach: replace queue_has_nonstale() scan with O(1) tracking commit-reach: deduplicate queue entries in paint_down_to_common object.h: fix stale entries in object flag allocation table --- eeb8d0c2074a0d0e340b2b8385d262aa424953af diff --cc commit-reach.c index 9b3ea46d6f,2e86e1e803..5df471a313 --- a/commit-reach.c +++ b/commit-reach.c @@@ -54,10 -101,12 +101,12 @@@ static int paint_down_to_common(struct struct commit *one, int n, struct commit **twos, timestamp_t min_generation, - int ignore_missing_commits, + enum merge_base_flags mb_flags, struct commit_list **result) { - struct prio_queue queue = { compare_commits_by_gen_then_commit_date }; + struct nonstale_queue queue = { + { compare_commits_by_gen_then_commit_date } + }; int i; timestamp_t last_gen = GENERATION_NUMBER_INFINITY; struct commit_list **tail = result;