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

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

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 7, 2025, 22:43 UTC
Message-ID
<xmqqtt3n1v27.fsf@gitster.g>
In-Reply-To
<20250702011214.2835529-2-phil.hord@gmail.com>
Phil Hord <phil.hord@gmail.com> writes:
Show 15 quoted lines
> 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.
Previous: Jeff KingNext: Phil Hord
Message 6 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.