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

Re: Re* using tree as attribute source is slow, was Re: Help troubleshoot performance regression cloning with depth: git 2.44 vs git 2.42

From
Jeff King <peff@peff.net>
Date
May 3, 2024, 17:46 UTC
Message-ID
<20240503174653.GD3631237@coredump.intra.peff.net>
In-Reply-To
<xmqqzft6aozg.fsf_-_@gitster.g>
On Fri, May 03, 2024 at 08:34:27AM -0700, Junio C Hamano wrote:
> And for folks who had been happy with the pre 2.42 behaviour,
> we could do something like the attached as the first step to a real fix.

It looks like lots of discussion happened with out me, and everybody already posted all of the responses I was going to. Good. :)

In particular...
Show 7 quoted lines
> ----- >8 --------- >8 --------- >8 --------- >8 -----
> Subject: [PATCH] stop using HEAD for attributes in bare repository by default
> [...]
> The right fix for this is to optimize the code paths that allow
> accesses to attributes in tree objects, but that is a much more
> involved change and is left as a longer-term project, outside the
> scope of this "first step" fix.

...this was the exact first step I was going to suggest. And your patch looks correct to me. I assume you'd target this for 'maint'. The regression goes back to v2.43.0, so it's not exactly new, but given the severity in some cases it seems like it's worth getting it into a release sooner rather than later.

I am mildly surprised nobody noticed the issue until now. I wonder if t/perf would notice it and nobody is running it, or if this is a gap in our coverage there. If the latter, it might be worth adding such a script, which should be able to show off that your change here takes us back to the v2.42 state.

Running the perf suite against linux.git between 2.42 and 2.43 would answer the "is this a gap" question, but I haven't had a chance to do so, and it takes a while.

-Peff
Previous: Junio C HamanoNext: Taylor Blau
Message 13 of 20 in “Help troubleshoot performance regression cloning with depth: git 2.44 vs git 2.42”
  1. Dhruva KrishnamurthyMay 1, 2024
  2. using tree as attribute source is slow, was Re: Help troubleshoot performance regression cloning with depth: git 2.44 vs git 2.42Jeff King, May 1, 2024
  3. rsbecker@nexbridge.comMay 1, 2024
  4. Junio C HamanoMay 1, 2024
  5. Taylor BlauMay 2, 2024
  6. Taylor BlauMay 2, 2024
  7. Junio C HamanoMay 2, 2024
  8. Taylor BlauMay 2, 2024
  9. Karthik NayakMay 2, 2024
  10. Junio C HamanoMay 2, 2024
  11. Dhruva KrishnamurthyMay 3, 2024
  12. Re* using tree as attribute source is slow, was Re: Help troubleshoot performance regression cloning with depth: git 2.44 vs git 2.42Junio C Hamano, May 3, 2024
  13. Jeff KingMay 3, 2024
  14. Taylor BlauMay 6, 2024
  15. John CaiMay 13, 2024
  16. attr.tree: HEAD:.gitattributes is no longer the default in a bare repoJunio C Hamano, Jun 5, 2024
  17. Jeff KingJun 6, 2024
  18. Junio C HamanoJun 6, 2024
  19. Dhruva KrishnamurthyMay 2, 2024
  20. Dhruva KrishnamurthyMay 2, 2024

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.