From: Ævar Arnfjörð Bjarmason Date: Sat, 11 Mar 2017 20:01:25 GMT Subject: Re: [PATCH 4/4] ref-filter: use separate cache for contains_tag_algo Message-ID: In-Reply-To: <20170309132949.shyc4gmdrhazykev@sigill.intra.peff.net> On Thu, Mar 9, 2017 at 2:29 PM, Jeff King wrote: > [...] > @@ -1874,6 +1886,8 @@ int filter_refs(struct ref_array *array, struct ref_filter *filter, unsigned int > broken = 1; > filter->kind = type & FILTER_REFS_KIND_MASK; > > + init_contains_cache(&ref_cbdata.contains_cache); > + > /* Simple per-ref filtering */ > [...] > > + clear_contains_cache(&ref_cbdata.contains_cache); > > /* Filters that need revision walking */ > if (filter->merge_commit) Shouldn't both of those be guarded by a "if (filter->with_commit)" test? That init/clear codepath is rather light, but it seems to me that we can avoid it entirely if filter->with_commit isn't defined. I've tested this locally and it still passes all tests.