git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Elijah Newren <newren@gmail.com>
Cc: Derrick Stolee <stolee@gmail.com>,
	Junio C Hamano <gitster@pobox.com>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: [ANNOUNCE] Git v2.24.0-rc0
Date: Tue, 22 Oct 2019 02:42:52 -0400	[thread overview]
Message-ID: <20191022064252.GA11308@sigill.intra.peff.net> (raw)
In-Reply-To: <CABPp-BG0Vrdo_w-e270oauLwHoLyaiTHKpfOwgLNBoeikoqq-g@mail.gmail.com>

On Mon, Oct 21, 2019 at 04:04:22PM -0700, Elijah Newren wrote:

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

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

  reply	other threads:[~2019-10-22  6:42 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-18  6:29 [ANNOUNCE] Git v2.24.0-rc0 Junio C Hamano
2019-10-21 20:48 ` Derrick Stolee
2019-10-21 23:04   ` Elijah Newren
2019-10-22  6:42     ` Jeff King [this message]
2019-10-21 22:05 ` Git for Windows v2.24.0-rc0, was " Johannes Schindelin
2019-10-22 14:50   ` [git-for-windows] " Philip Oakley
2019-10-24 23:08     ` Johannes Schindelin
2019-10-24 23:34       ` Jeff King
2019-10-25  8:18         ` Johannes Schindelin
2019-10-25 16:58           ` Jeff King
2019-10-24 18:24   ` Bryan Turner
2019-10-24 22:52     ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191022064252.GA11308@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=newren@gmail.com \
    --cc=stolee@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).