Thread (33 messages) flat view 33 messages, 4 authors, 2021-01-23

Re: [PATCH 1/1] ls-refs.c: minimize number of refs visited

From: Jeff King <hidden>
Date: 2021-01-19 23:01:13

On Tue, Jan 19, 2021 at 05:52:04PM -0500, Jeff King wrote:
On Tue, Jan 19, 2021 at 05:23:36PM -0500, Taylor Blau wrote:
quoted
quoted
Having now looked carefully at the ls-refs code, it's a pure
prefix-match, too. So I think we _could_ rely on for_each_fullref_in()
returning us the correct full results, and not checking it further in
send_ref(). But I kind of like keeping it there as an extra check (and
one which could in theory grow more logic later).
Hmm. What if the caller asks for:

  ref-prefix refs/tags/a
  ref-prefix refs/tags/b

?

The LCP between those two is refs/tags, so send_ref() will presumably
get lots of reuslts that it doesn't care about (assuming there are tags
besides a and b).
Oh, you're right, of course. Ignore me. :)
Actually, I am not sure that we would look for "refs/tags/" in that case
(I did a quick test and we do not seem to). Which makes sense, as it is
cheaper to find the "a" and "b" hierarchies separately if there is a
very big "refs/tags/c" hierarchy.

But I agree that this is a good reason that callers should consider it
as an optimization which could return more results than expected.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help