git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Bryan Turner <bturner@atlassian.com>
Cc: git-for-windows@googlegroups.com, Git Users <git@vger.kernel.org>
Subject: Re: Request for testing v2.19.0-rc0 *with builtin stash/rebase*
Date: Sun, 26 Aug 2018 01:52:42 +0200 (DST)	[thread overview]
Message-ID: <nycvar.QRO.7.76.6.1808260150320.18296@tvgsbejvaqbjf.bet> (raw)
In-Reply-To: <CAGyf7-FB6oBpKHTBLoqviu=Ymk0Ksi_EHrxM6-Z4YK44w0kpYg@mail.gmail.com>

Hi Bryan,

On Fri, 24 Aug 2018, Bryan Turner wrote:

> On Fri, Aug 24, 2018 at 5:14 AM Johannes Schindelin
> <Johannes.Schindelin@gmx.de> wrote:
> >
> > For that reason, I was delighted to see that our Google Summer of Code
> > pushed pretty hard in that direction. And I could not help myself so I had
> > to test how much faster things got. Here is the result of my first, really
> > quick and dirty test:
> >
> >                 without builtin stash/rebase    with builtin stash/rebase
> > t3400 (rebase)          1m27s                           32s
> > t3404 (rebase -i)       13m15s                          3m59s
> > t3903 (stash)           8m37s                           1m18s
> >
> > What can I say? Even if the numbers are off by as much as 10%, these are
> > impressive improvements: keep in mind that there is a lot of churn going
> > on in the test suite because it is itself implemented in Unix shell
> > scripts (and hence I won't even bother to try more correct performance
> > benchmarking because that is simply not possible when Unix shell scripts
> > are in the equation). So the speed improvements of the stash/rebase
> > commands are *even higher* than this.
> 
> Thanks for taking the time to make these pre-releases available. I
> appreciate the effort. And the same to Junio, for always posting
> release candidates. We rely on them heavily to find changes that might
> cause issues before admins start upgrading in the wild and find them
> for us.
> 
> I downloaded both the rc0.1 and rc0.2 builds, as well as 2.18.0, and
> ran them all through Bitbucket Server's test suite a few times (to
> ensure warm disk for comparable numbers). I added support for some
> "simple" rebase cases a few releases ago, so we have a set of tests
> that verify the rebase behaviors we use. (We don't use git stash, so
> we don't have any tests in our suite for that.)
> 
> Running our entire Git test suite (~1,600 tests) against Git for
> Windows 2.18.0 takes ~5 minutes, and 2.19.0-rc0.1 produced an almost
> identical duration. Running our tests against rc0.2 cut the duration
> down to 4 minutes. There were no test failures on either pre-release
> build.
> 
> To try and get a better sense of the rebase performance improvement
> specifically, I filtered down to a set of 14 specific tests which use
> it and ran those. On Git 2.18, those 14 tests take just over 19
> seconds. On 2.19.0-rc0.2, they take just over 8 seconds.
> 
> When they do ship, whether it's in 2.19 (by default or optional) or
> later, the changes definitely offer some significant performance wins.
> 
> Thanks again, to everyone involved, for all the effort that went into
> designing, implementing, reviewing and releasing these improvements.
> As someone who develops under Windows most of the time, they make a
> big difference in my day to day work. And that's not to mention all
> the Bitbucket Server and Bitbucket Data Center users who will enjoy a
> snappier experience as these changes make their way out into the wild.

Thank you for the thorough testing!

As a heads-up: after Thomas Gummerer offered some cautious thoughts, I
decided to work on the stash.useBuiltin support after all: the Git for
Windows v2.19.0 installer will have builtin stash and rebase as two
experimental options, both defaulting to off (to protect not only Git for
Windows' users, but also the maintainer's inbox).

Likewise, portable Git and MinGit will support stash.useBuiltin and
rebase.useBuiltin, defaulting to `false` for both.

Thanks,
Johannes

      reply	other threads:[~2018-08-26  0:19 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-24 12:14 Request for testing v2.19.0-rc0 *with builtin stash/rebase* Johannes Schindelin
2018-08-24 16:41 ` [git-for-windows] " Johannes Schindelin
2018-08-24 22:53 ` Bryan Turner
2018-08-25 23:52   ` Johannes Schindelin [this message]

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=nycvar.QRO.7.76.6.1808260150320.18296@tvgsbejvaqbjf.bet \
    --to=johannes.schindelin@gmx.de \
    --cc=bturner@atlassian.com \
    --cc=git-for-windows@googlegroups.com \
    --cc=git@vger.kernel.org \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).