git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Nicolas Pitre <nico@cam.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
	Git Mailing List <git@vger.kernel.org>, Chris Lee <clee@kde.org>
Subject: Re: kde.git is now online
Date: Thu, 5 Apr 2007 13:51:35 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.64.0704051338290.6730@woody.linux-foundation.org> (raw)
In-Reply-To: <alpine.LFD.0.98.0704051532240.28181@xanadu.home>



On Thu, 5 Apr 2007, Nicolas Pitre wrote:
> 
> For example I think there might be ways to improve the pack mmap 
> windowing, or git-fsck's IO patterns.  For example, git-fsck --full 
> spend 96% of the time waiting for IO completion and only 4% actually 
> performing some work according to top.  At that rate that makes fsck 
> --full rather unusable on this repo.  Without --full then fsck completes 
> in less than 2 seconds.

Without "--full", it doesn't actually really do anything much, since it 
will basically ignore objects that are in the pack.

With --full, there are certainly things that we could improve upon. We 
currently tend to walk things a few times for pack contents: 
 - first we do the SHA1 of the full pack
 - then we go back, and unpack and fsck each entry in the pack.

So if the pack-file is too big to fit in memory, we'll basically always 
read it at least twice (and that's ignoring the fact that delta lookup 
will obviously seek back and forth, which makes access patterns worse).

On the other hand, there's a perfectly good reason why we don't actually 
fsck pack-files by default. They're "stable storage". You don't normally 
need to. So I'd not worry too much about fsck performance. I suspect 
you'll find that with 1GB or RAM you'll have other performance problems 
that are more pressing ("git clone" comes to mind ;)

Me, I'm just 53% done with the download, so I probably won't be looking at 
this today ;)

			Linus

  reply	other threads:[~2007-04-05 20:52 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-05 17:03 kde.git is now online H. Peter Anvin
2007-04-05 17:30 ` Linus Torvalds
2007-04-05 17:38   ` Nicolas Pitre
2007-04-05 19:45     ` Nicolas Pitre
2007-04-05 20:51       ` Linus Torvalds [this message]
2007-04-05 22:00         ` Nicolas Pitre
2007-04-06  1:24           ` Linus Torvalds
2007-04-05 18:03   ` Chris Lee
2007-04-05 21:26 ` Junio C Hamano
2007-04-06 11:32   ` Geert Bosch
2007-04-06 12: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=Pine.LNX.4.64.0704051338290.6730@woody.linux-foundation.org \
    --to=torvalds@linux-foundation.org \
    --cc=clee@kde.org \
    --cc=git@vger.kernel.org \
    --cc=hpa@zytor.com \
    --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).