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

Re: Performance regression in "update" hooks

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 2, 2026, 18:54 UTC
Message-ID
<xmqq7bru12qs.fsf@gitster.g>
In-Reply-To
<87wlzu5cug.fsf@collabora.com>
Adrian Ratiu <adrian.ratiu@collabora.com> writes:
Show 21 quoted lines
> On Mon, 02 Mar 2026, Jeff King <peff@peff.net> wrote:
>> On Mon, Mar 02, 2026 at 03:27:22PM +0100, Patrick Steinhardt wrote:
>>
>>> > > I don't have the benchmark setup and it might be easier for you to
>>> > > confirm?
>>> 
>>> All you need is a normal development infra and hyperfine. The
>>> benchmarking scripts in the repo I linked should then "just work" with
>>> the above invocation.
>>
>> Thanks, these were very cool and easy to use.
>>
>> Looking at the patch, my guess was that the problem is that we are now
>> setting up and tearing down the sideband muxer for each hook invocation.
>> This is expensive for the "update" hook, since it fires once per ref.
>
> I independently root caused it and came up with (mostly) the same fix,
> so this is a very good confirmation, thanks!
>
> Please wait for my patch because it needs fixing it 3 places, for 3
> hooks which spin up/down no-op async threads. :)

Thanks for working on the problem report and coming to a fix so quickly.

Previous: Adrian Ratiu
Message 7 of 7 in “Performance regression in "update" hooks”
  1. Patrick SteinhardtMar 2, 2026
  2. Adrian RatiuMar 2, 2026
  3. Adrian RatiuMar 2, 2026
  4. Patrick SteinhardtMar 2, 2026
  5. Jeff KingMar 2, 2026
  6. Adrian RatiuMar 2, 2026
  7. Junio C HamanoMar 2, 2026

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.