git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v4 0/3] fetch --prune performance problem

From
Phil Hord <phil.hord@gmail.com>
Date
Jul 8, 2025, 01:00 UTC
Message-ID
<CABURp0ohikpNPjxP_SfzK+txfbyvmM1adHZJ1C_Oa3SmY-EJwQ@mail.gmail.com>
In-Reply-To
<xmqqtt3n1v27.fsf@gitster.g>
On Mon, Jul 7, 2025, 3:43 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 23 quoted lines
>
> Phil Hord <phil.hord@gmail.com> writes:
>
> > From: Phil Hord <phil.hord@gmail.com>
> >
> > `git fetch --prune` runs in O(N^2) time normally. This happens because the code
> > iterates over each ref to be pruned to display its status. In a repo with
> > 174,000 refs, where I was pruning 15,000 refs, the current code made 2.6 billion
> > calls to strcmp and consumed 470 seconds of CPU. After this change, the same
> > operation completes in under 1 second.
> > ...
> > V3 forgot to include the first commit in the series (I forgot it grew).
> > So here's V4.
> >
> > Phil Hord (3):
> >   fetch-prune: optimize dangling-ref reporting
> >   refs: remove old refs_warn_dangling_symref
> >   clean up interface for refs_warn_dangling_symrefs
>
> It seems that the thread has gone quiet.  What's the status of this
> topic?
>
> Thanks.
LGTM
Previous: Junio C HamanoNext: Jeff King
Message 7 of 8 in “fetch --prune performance problem”
  1. 0/3 fetch --prune performance problemPhil Hord, Jul 2, 2025
  2. 1/3 fetch-prune: optimize dangling-ref reportingPhil Hord, Jul 2, 2025
  3. 2/3 refs: remove old refs_warn_dangling_symrefPhil Hord, Jul 2, 2025
  4. 3/3 clean up interface for refs_warn_dangling_symrefsPhil Hord, Jul 2, 2025
  5. Jeff KingJul 8, 2025
  6. Junio C HamanoJul 7, 2025
  7. Phil HordJul 8, 2025
  8. Jeff KingJul 8, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.