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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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...

> ----- >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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux