[PATCH v3 1/6] revision: move bloom keyvec precondition into function
- From
Toon Claes <toon@iotcl.com>
- Date
- Aug 31, 2026, 15:18 UTC
- Message-ID
- <20260831-toon-speed-up-last-modified-v3-1-2bbb864acf93@iotcl.com>
- In-Reply-To
- <20260831-toon-speed-up-last-modified-v3-0-2bbb864acf93@iotcl.com>
There are currently two callsites calling check_maybe_different_in_bloom_filter(). They both check if revs->bloom_keyvecs_nr is not zero before they call that function.
Move bloom_keyvecs_nr precondition into check_maybe_different_in_bloom_filter() to simplify the code.
Note that this changes `bloom_ret` to become -1 when there are no Bloom key vectors, which results in `count_bloom_filter_false_positive` not being incremented. This is unobservable, as the Bloom statistics are only reported when key vectors were set up.
Signed-off-by: Toon Claes <toon@iotcl.com> --- revision.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/revision.c b/revision.c index 50dc8b1991..6a6a1b6fa0 100644 --- a/revision.c +++ b/revision.c @@ -752,6 +752,9 @@ static int check_maybe_different_in_bloom_filter(struct rev_info *revs, struct bloom_filter *filter; int result = 0; + if (!revs->bloom_keyvecs_nr) + return -1; + if (commit_graph_generation(commit) == GENERATION_NUMBER_INFINITY) return -1; @@ -806,7 +809,7 @@ static int rev_compare_tree(struct rev_info *revs, return REV_TREE_SAME; } - if (revs->bloom_keyvecs_nr && !nth_parent) { + if (!nth_parent) { bloom_ret = check_maybe_different_in_bloom_filter(revs, commit); if (bloom_ret == 0) @@ -833,7 +836,7 @@ static int rev_same_tree_as_empty(struct rev_info *revs, struct commit *commit, if (!t1) return 0; - if (!nth_parent && revs->bloom_keyvecs_nr) { + if (!nth_parent) { bloom_ret = check_maybe_different_in_bloom_filter(revs, commit); if (!bloom_ret) return 1;
-- 2.55.0.679.g6767b8d81c