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

Re: [ANNOUNCE] Git v2.24.0-rc0

From
Jeff King <peff@peff.net>
Date
Oct 22, 2019, 06:42 UTC
Message-ID
<20191022064252.GA11308@sigill.intra.peff.net>
In-Reply-To
<CABPp-BG0Vrdo_w-e270oauLwHoLyaiTHKpfOwgLNBoeikoqq-g@mail.gmail.com>
On Mon, Oct 21, 2019 at 04:04:22PM -0700, Elijah Newren wrote:
Show 6 quoted lines
> > 4211.3: git log --follow [...]8.56(8.41+0.15) -0.2%       3.67(3.53+0.13) -57.2%
> 
> Many nice speedups here, not just commit-graph (the rev-list cases)
> but also log -L (from sg/line-log-tree-diff-optim, I believe), and log
> --follow.  I'm curious if the log --follow speedup comes from sg's
> series or something else...

The "log --follow" speedup comes from turning on commit-graphs. You can see a similar effect without "--follow", since "git log <path>" is going to be dominated by the commit traversal, and not accessing the trees (especially if <path> is at the top-level).

Show 5 quoted lines
> > 0001.9: rev-list --objects $commit --not --all                0.08(0.05+0.03)       0.08(0.05+0.03) +0.0%       0.09(0.07+0.02) +12.5%
> 
> Looks like this one increased too, with a similar magnitude to the
> 7300.2 you pointed out.  But the base is kinda small; is this just
> noise?

Probably. I also frequently run the perf suite between major version releases, and this kind of noise is quite common.

> I'm also curious what change it was that made these rebase tests faster.

Perf changes of this magnitude are usually pretty easy to bisect. You can even do:

  git bisect start --term-old=slow --term-new=fast

so you don't have to confuse yourself with opposite good/bad markers. I just ran:

  make && (cd t/perf && GIT_SKIP_TESTS=p3400.[3456] ./p3400*)

at each stopping point and eyeballed the resulting time (which for some reason seems to be about 10x faster than Stolee's machine, but does still show the same relative speedup). I was surprised that this also yields 31b1de6a09 (commit-graph: turn on commit-graph by default, 2019-08-13). I wouldn't have expected commit access to dominate the rebase time so much.

-Peff
Previous: Elijah NewrenNext: Johannes Schindelin
Message 4 of 12 in “[ANNOUNCE] Git v2.24.0-rc0”
  1. Junio C HamanoOct 18, 2019
  2. Derrick StoleeOct 21, 2019
  3. Elijah NewrenOct 21, 2019
  4. Jeff KingOct 22, 2019
  5. Git for Windows v2.24.0-rc0, was Re: [ANNOUNCE] Git v2.24.0-rc0Johannes Schindelin, Oct 21, 2019
  6. Philip OakleyOct 22, 2019
  7. Johannes SchindelinOct 24, 2019
  8. Jeff KingOct 24, 2019
  9. Johannes SchindelinOct 25, 2019
  10. Jeff KingOct 25, 2019
  11. Bryan TurnerOct 24, 2019
  12. Johannes SchindelinOct 24, 2019

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.