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

Re: 'git status' on NFS performance regression in 1.7.0

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 17, 2010, 20:22 UTC
Message-ID
<7v3a0zmx2e.fsf@alter.siamese.dyndns.org>
In-Reply-To
<885649361002171208j41405b9exdfc34034c905e96c@mail.gmail.com>
James Pickens <jepicken@gmail.com> writes:
Show 5 quoted lines
> I noticed that 'git status' in version 1.7.0 is much slower than in 1.6.2.5
> on large work trees on NFS - averaging ~13 seconds runtime vs. ~2 seconds.
> I did a bit of debugging and found that 'git status' apparently doesn't use
> the multi-threaded preload_index any more, although some other commands
> like diff still use it.  Was it intentionally dropped from 'git status'?

There might be subtle breakage for doing this, but it would be worth a try ;-)

 builtin-commit.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin-commit.c b/builtin-commit.c
index 55676fd..71f81c9 100644
--- a/builtin-commit.c
+++ b/builtin-commit.c
@@ -1046,7 +1046,7 @@ int cmd_status(int argc, const char **argv, const char *prefix)
 	if (*argv)
 		s.pathspec = get_pathspec(prefix, argv);
 
-	read_cache();
+	read_cache_preload();
 	refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED, s.pathspec, NULL, NULL);
 	s.is_initial = get_sha1(s.reference, sha1) ? 1 : 0;
 	s.in_merge = in_merge;
Previous: James PickensNext: Junio C Hamano
Message 2 of 6 in “'git status' on NFS performance regression in 1.7.0”
  1. James PickensFeb 17, 2010
  2. Junio C HamanoFeb 17, 2010
  3. Junio C HamanoFeb 17, 2010
  4. James PickensFeb 17, 2010
  5. Junio C HamanoFeb 17, 2010
  6. Peter KreftingFeb 18, 2010

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.