From: Theodore Tso <tytso@mit.edu>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
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 14:09:47 -0400 [thread overview]
Message-ID: <20070508180947.GB15796@thunk.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0705081848330.4167@racer.site>
On Tue, May 08, 2007 at 06:49:47PM +0200, Johannes Schindelin wrote:
> 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...
Given how the delta cache works, I really don't think it's going to
matter. In any case, my laptop has 2gigs of memory, and the kernel
pack file is only 134megs, so you're not going to see any major page
faults....
In any case, here is a quick run:
git-gc git-log -S'object'
real/user/sys/min.faults real/user/sys/min.faults pack size
w=10,d=10 4:31/257.7/6.2/391711 5:53/326.9/1.7/255156 155940k
w=10,d=30 4:16/242.7/6.5/378193 5:39/331.6/2.3/437283 143144k
w=10,d=50 4:29/250.1/6.7/554493 5:43/334.5/1.9/362574 140080k
You'll note that it's the same thing; git-gc, git-log doesn't change
much, while the pack size decreases as --depth increases. We're only
seeing at 10% decrease in the pack size, compared to the 20% decrease
with the git repository, but that's probably because of the HTML and
man branches, which no doubt delta compress really, really well.
I can run a full set of benchmarks, varying both --window and --depth,
and also including a non-pickaxe git-log test as requested, but not
until tonight. I really don't think we'll see any surprises compared
to the earlier runs, though.
After all, if we just stop and think about how the delta caching
works, and how the repacking algorithm works, it's pretty clear that
there shouldn't be any scaling issues with increasing --depth, and
that increasing --window is just going to be painful, and these should
hold true regardless of the size of the repo.
- Ted
next prev parent reply other threads:[~2007-05-08 18:10 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
2007-05-08 18:09 ` Theodore Tso [this message]
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070508180947.GB15796@thunk.org \
--to=tytso@mit.edu \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=nico@cam.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).