Re: Why is git log on large repos slower when outputting to tty?
- From
- Henry Qin <root@hq6.me>
- Date
- Oct 18, 2024, 04:28 UTC
- Message-ID
- <CAO8bsPDEjDiiB9_ueBzDgLWt3GEcR4T=tYR2GXVAnfsoNxn-HA@mail.gmail.com>
- In-Reply-To
- <20241018042246.GA2408674@coredump.intra.peff.net>
Hi Jeff,
Thanks for your reply! This was actually discussed in the comment thread on SO as well. Yes, I do have 15618 refs in that repo, and turning off decoration indeed fixed the performance issue!
Thanks, ~Henry
On Thu, Oct 17, 2024 at 9:23 PM Jeff King <peff@peff.net> wrote:
Show 18 quoted lines
> > On Thu, Oct 17, 2024 at 10:46:17AM -0700, Henry Qin wrote: > > > Details in my Stackoverflow question: > > > > https://stackoverflow.com/questions/79099095/why-is-git-log-significantly-slower-when-outputting-to-a-tty > > My first thought was "decorations", and indeed somebody gave that answer > in the stack overflow thread. The default for log.decorate is "auto", > which will turn them on when output is to a tty. You can set it to > "false" to disable it. > > As for why decorations are slow: it is necessarily going to be at least > linear in the number of refs, since we have to build the reverse mapping > up front. Do you have a lot of refs? What does "git for-each-ref | wc > -l" say? > > -Peff