From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Theodore Tso <tytso@mit.edu>
Cc: Nicolas Pitre <nico@cam.org>, Junio C Hamano <junkio@cox.net>,
Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH] Add pack.depth option to git-pack-objects and change default depth to 50
Date: Tue, 8 May 2007 18:49:47 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.64.0705081848330.4167@racer.site> (raw)
In-Reply-To: <20070508163044.GA15796@thunk.org>
Hi,
On Tue, 8 May 2007, Theodore Tso wrote:
> On Tue, May 08, 2007 at 11:38:46AM -0400, Nicolas Pitre wrote:
> > On Tue, 8 May 2007, Theodore Ts'o wrote:
> >
> > > Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
> >
> > I'd prefer if tests were performed on the performance impact before
> > changing the default depth. If done separately from this patch then the
> > commit log could contain those results as well.
>
> The following results are on a recent git repository, using time to
> record the real, user, and sys times on the two commands: "git-gc
> --no-reuse-delta --window=X --depth=Y" and "git log --pretty=oneline
> -S'object' > /dev/null". All of these tests were done with a hot
> cache, so disk speed didn't enter into the calculations.
>
> git-gc git log -S'object' pack size
> w=10,d=10 27.1s/25.2s/0.3s 20.8s/20.4s/0.1s 15292k
> w=10,d=30 23.8s/22.3s/0.2s 21.2s/20.9s/0.1s 12996k
> w=10,d=50 24.8s/22.4s/0.4s 21.8s/21.2s/0.1s 12340k
> w=100,d=100 24.1s/22.8s/0.3s 22.4s/21.8s/0.2s 11772k
>
> w=30,d=10 45.0s/43.1s/0.4s 20.8s/20.5s/0.1s 14388k
> w=30,d=30 35.8s/34.1s/0.3s 21.6s/21.1s/0.1s 11800k
> w=30,d=50 34.6s/33.0s/0.3s 22.1s/21.4s/0.1s 11376k
> w=30,d=100 34.0s/32.2s/0.3s 22.2s/21.6s/0.1s 11012k
>
> w=50,d=10 56.1s/54.3s/0.4s 21.3s/20.5s/0.1s 14224k
> w=50,d=30 47.2s/45.4s/0.4s 21.6s/21.0s/0.1s 11496k
> w=50,d=50 44.5s/43.0s/0.3s 21.7s/21.2s/0.1s 11108k
> w=50,d=100 44.3s/42.7s/0.4s 22.4s/21.7s/0.1s 10824k
>
> So a couple of things immediately become evident. First of all, as
> Junio predicted, changing --depth makes no difference to the git-gc or
> git log times. The latter is thanks to the delta chaching. Secondly,
> changing --depth does make a signficiant difference to the pack size.
>
> Finally, --window does help somewhat in reducing the pack size, but it
> _significantly_ increases the time to calculate the pack.
>
> My conclusion given this quick benchmark is that it seems to me that
> changing the defaults of --depth to 50, and keeping --window at 10, is
> a reasonable thing to do.
I'd be happier if that test was done on _at least_ the kernel repo, if not
something larger, _plus_ having the numbers on page faults. Swapping can
kill performance substantially...
git.git is small.
Ciao,
Dscho
next prev parent reply other threads:[~2007-05-08 16:49 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-08 2:54 [PATCH] Add --no-reuse-delta, --window, and --depth options to git-gc Theodore Ts'o
2007-05-08 3:13 ` Nicolas Pitre
2007-05-08 3:21 ` Theodore Tso
2007-05-08 3:38 ` Dana How
2007-05-08 4:43 ` Junio C Hamano
2007-05-08 13:46 ` Nicolas Pitre
2007-05-08 13:28 ` [PATCH] Add --no-reuse-delta, --window, and --depth options to Theodore Ts'o
2007-05-08 13:28 ` [PATCH] Add pack.depth option to git-pack-objects and change default depth to 50 Theodore Ts'o
2007-05-08 13:28 ` [PATCH] Add --no-reuse-delta option to git-gc Theodore Ts'o
2007-05-08 15:35 ` Nicolas Pitre
2007-05-09 5:05 ` Daniel Barkalow
2007-05-09 8:15 ` Junio C Hamano
2007-05-09 9:02 ` Steven Grimm
2007-05-09 11:35 ` Other compression?, was " Johannes Schindelin
2007-05-09 15:15 ` Junio C Hamano
2007-05-09 19:10 ` Shawn O. Pearce
2007-06-10 7:40 ` Sam Vilain
2007-06-11 1:51 ` Nicolas Pitre
2007-06-11 6:20 ` Steven Grimm
2007-06-11 6:31 ` Shawn O. Pearce
2007-06-11 10:20 ` Johannes Schindelin
2007-06-11 14:01 ` Nicolas Pitre
2007-06-11 21:40 ` Johannes Schindelin
2007-05-09 19:48 ` [PATCH] Add --aggressive option to 'git gc' Theodore Tso
2007-05-09 20:19 ` Junio C Hamano
2007-05-09 22:22 ` Theodore Tso
2007-05-10 7:38 ` Junio C Hamano
2007-05-08 15:38 ` [PATCH] Add pack.depth option to git-pack-objects and change default depth to 50 Nicolas Pitre
2007-05-08 16:30 ` Theodore Tso
2007-05-08 16:49 ` Johannes Schindelin [this message]
2007-05-08 18:09 ` Theodore Tso
2007-05-08 18:46 ` Nicolas Pitre
2007-05-09 13:49 ` Theodore Tso
2007-05-09 14:17 ` Johannes Schindelin
2007-05-08 17:07 ` Dana How
2007-05-08 17:35 ` Nicolas Pitre
2007-05-09 5:03 ` Junio C Hamano
2007-05-08 15:30 ` [PATCH] Add --no-reuse-delta, --window, and --depth options to Nicolas Pitre
2007-05-08 21:12 ` Junio C Hamano
2007-05-08 23:59 ` Nicolas Pitre
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=Pine.LNX.4.64.0705081848330.4167@racer.site \
--to=johannes.schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=nico@cam.org \
--cc=tytso@mit.edu \
/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).