From: Jeff King <peff@peff.net>
To: Michael Poole <mdpoole@troilus.org>
Cc: Miles Bader <miles@gnu.org>, Michael Witten <mfwitten@gmail.com>,
Frans Pop <elendil@planet.nl>,
git@vger.kernel.org
Subject: Re: 'git gc --aggressive' effectively unusable
Date: Sun, 4 Apr 2010 16:38:51 -0400 [thread overview]
Message-ID: <20100404203850.GA8798@coredump.intra.peff.net> (raw)
In-Reply-To: <87zl1js248.fsf@troilus.org>
On Sun, Apr 04, 2010 at 10:50:47AM -0400, Michael Poole wrote:
> > Are you sure it doesn't subsequently speed up again?
>
> I have seen asymptotic slowdown as "git gc --aggressive" progresses on
> certain repositories. It is particularly bad with
> git://git.infradead.org/gcc.git (on an x86-64 system with 4 GB RAM).
> git seemed to be thrashing swap badly as time went on. I don't know
> that git gc --aggressive would *never* finish on my gcc-git repository.
> I just know that it got to about 80% done in less than an hour, to 90%
> after twelve hours, and about 94% after another twelve hours. (The same
> operation on linux-2.6.git takes about 40 minutes with all the default
> settings.)
>
> I may have been dreaming, but I thought with some 1.6.x version of git,
> reducing core.packedGitLimit and pack.windowLimit (now windowMemory?)
> mostly made the thrashing go away. When I try again with v1.7.0.2,
> though, it doesn't seem to help very much -- there is still a lot of
> swapping, and the git process got to about 7 GB virtual size before I
> killed it after about 10 hours of operation.
I packed Frans' sample kernel repo with "git gc --aggressive" last
night. It did finish after about 9 hours. I didn't take memory usage
measurements, but here's what time said:
real 535m38.898s
user 216m46.437s
sys 0m24.186s
That's 3.6 hours of CPU time over almost 9 hours (on a dual-core
machine). The non-agressive pack was about 680M, and the result was
480M. The machine has 2G of RAM, and not much else running. So I would
really not expect there to be much disk I/O required, but clearly we
were waiting quite a bit.
I'll try tweaking a few of the pack memory limits and try again.
-Peff
next prev parent reply other threads:[~2010-04-04 20:39 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-02 22:05 'git gc --aggressive' effectively unusable Frans Pop
2010-04-02 22:12 ` Frans Pop
2010-04-03 21:16 ` Frans Pop
2010-04-03 21:33 ` Michael Witten
2010-04-03 21:42 ` Michael Witten
2010-04-03 23:23 ` Frans Pop
2010-04-03 23:42 ` Michael Witten
2010-04-04 0:14 ` Miles Bader
2010-04-04 14:50 ` Michael Poole
2010-04-04 20:38 ` Jeff King [this message]
2010-04-04 21:49 ` Jeff King
2010-04-05 21:07 ` Nicolas Pitre
2010-04-04 4:27 ` Mike Galbraith
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=20100404203850.GA8798@coredump.intra.peff.net \
--to=peff@peff.net \
--cc=elendil@planet.nl \
--cc=git@vger.kernel.org \
--cc=mdpoole@troilus.org \
--cc=mfwitten@gmail.com \
--cc=miles@gnu.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.
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).