git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: kde.git is now online

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
Apr 5, 2007, 20:51 UTC
Message-ID
<Pine.LNX.4.64.0704051338290.6730@woody.linux-foundation.org>
In-Reply-To
<alpine.LFD.0.98.0704051532240.28181@xanadu.home>
On Thu, 5 Apr 2007, Nicolas Pitre wrote:
Show 7 quoted lines
> 
> 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
Previous: Nicolas PitreNext: Nicolas Pitre
Message 5 of 11 in “kde.git is now online”
  1. H. Peter AnvinApr 5, 2007
  2. Linus TorvaldsApr 5, 2007
  3. Nicolas PitreApr 5, 2007
  4. Nicolas PitreApr 5, 2007
  5. Linus TorvaldsApr 5, 2007
  6. Nicolas PitreApr 5, 2007
  7. Linus TorvaldsApr 6, 2007
  8. Chris LeeApr 5, 2007
  9. Junio C HamanoApr 5, 2007
  10. Geert BoschApr 6, 2007
  11. Nicolas PitreApr 6, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.