From: Johannes Sixt <j6t@kdbg.org>
To: Dun Peal <dunpealer@gmail.com>
Cc: Joshua Jensen <jjensen@workspacewhiz.com>,
Tay Ray Chuan <rctay89@gmail.com>,
Wilbert van Dolleweerd <wilbert@arentheym.com>,
Git ML <git@vger.kernel.org>
Subject: Re: Inexplicably deteriorating performance of Git repositories on Windows
Date: Wed, 24 Nov 2010 23:06:17 +0100 [thread overview]
Message-ID: <201011242306.17834.j6t@kdbg.org> (raw)
In-Reply-To: <AANLkTi=X724OJgUvG0Ggu3OwxyaJprr9CLL+t+x=MbTO@mail.gmail.com>
On Mittwoch, 24. November 2010, Dun Peal wrote:
> So my theory is that there's a cache that on the "fast" machines
> aggressively caches the entire tree on a regular `git status` run. On
> such a machine, it's enough to run `git status` once, and after that
> initial cold run, the rest will be warm... until you reboot the
> machine, rinse, repeat.
>
> On a slow machine, however, cache isn't so aggressive. It might be
> write-oriented. So when you write out a whole new working tree, that
> tree gets cached as it is written. And for the remainder of the
> lifetime of that cache, you get the fully-cached performance you see
> on the "fast" machines. But then you reboot the machine, and lose the
> cache. And since the caching process isn't aggressive, any number of
> `git status` runs won't get you back to the fully cached state. You
> will only get that on a newly written working copy.
You can test this theory on a slow machine: You have cloned a repository,
rebooted, and you are now at 14s per 'git status'. Now:
$ git rm -r .
$ git reset --hard
erases the worktree and writes it out again (do this only on a clean
checkout!). Are you now at 5s per 'git status'?
-- Hannes
next prev parent reply other threads:[~2010-11-24 22:06 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-23 19:08 Inexplicably deteriorating performance of Git repositories on Windows Dun Peal
2010-11-23 19:12 ` Wilbert van Dolleweerd
2010-11-23 19:59 ` Dun Peal
2010-11-23 20:10 ` Wilbert van Dolleweerd
2010-11-23 20:25 ` Stephen Bash
2010-11-23 21:07 ` Dun Peal
2010-11-24 14:16 ` Tay Ray Chuan
2010-11-24 17:16 ` Joshua Jensen
2010-11-24 21:00 ` Dun Peal
2010-11-24 21:18 ` A Large Angry SCM
2010-11-24 22:06 ` Johannes Sixt [this message]
2010-11-24 20:48 ` Dun Peal
2010-11-23 21:13 ` Martin Langhoff
2010-11-23 21:17 ` Dun Peal
2010-11-23 21:49 ` Ferry Huberts
2010-11-23 23:23 ` Dun Peal
2010-11-24 11:34 ` Andreas Ericsson
2010-11-24 20:10 ` Dun Peal
2010-11-24 13:32 ` Nguyen Thai Ngoc Duy
2010-11-24 20:22 ` Dun Peal
2010-11-28 22:18 ` Robin Rosenberg
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=201011242306.17834.j6t@kdbg.org \
--to=j6t@kdbg.org \
--cc=dunpealer@gmail.com \
--cc=git@vger.kernel.org \
--cc=jjensen@workspacewhiz.com \
--cc=rctay89@gmail.com \
--cc=wilbert@arentheym.com \
/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).