mbox series

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

Message ID 20210119144251.27924-1-jacob@gitlab.com (mailing list archive)
Headers show
Series ls-refs.c: minimize number of refs visited | expand

Message

Jacob Vosmaer Jan. 19, 2021, 2:42 p.m. UTC
The back story of this patch is in
https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/746; it
comes down to: we have a repo with 500,000 refs of which only 50,000
are visible. Having ls-refs iterate through all the refs adds
considerable overhead.

This patch reduces the number of refs visited by replacing one ref
walk over refs/ with multiple ref walks over the prefixes the user
requested via ref-prefix. In the case the user did not use ref-prefix
we fall back to the walk over all of refs/.

Jacob Vosmaer (1):
  ls-refs.c: minimize number of refs visited

 ls-refs.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 62 insertions(+), 1 deletion(-)