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

[PATCH 0/2] Improve Git performance on big trees

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Jan 14, 2010, 15:02 UTC
Message-ID
<1263481341-28401-1-git-send-email-pclouds@gmail.com>

The discussion about using Git on Gentoo comes up again [1] and it looks like we can improve Git a bit if user only works on some subdirectories. In such cases, Git still does whole-tree check, which takes quite some time. "git status" takes 3 seconds on my machine, but I suspect lstat() is not the only culprit, "git diff --exit-code" is about 1 sec.

These patches makes "git rm <path>" and "git status <path>" a bit faster. Almost 1 sec for "git rm foo" still seems too long though, probably due to writing a 9MB index.

[1] http://article.gmane.org/gmane.linux.gentoo.devel/64522
Nguyễn Thái Ngọc Duy (2):
  rm: only refresh entries that we may touch
  status: only touch path we may need to check
 builtin-commit.c |    2 +-
 builtin-rm.c     |    2 +-
 wt-status.c      |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
Next: Nguyễn Thái Ngọc Duy
Message 1 of 10 in “Improve Git performance on big trees”
  1. 0/2 Improve Git performance on big treesNguyễn Thái Ngọc Duy, Jan 14, 2010
  2. 1/2 rm: only refresh entries that we may touchNguyễn Thái Ngọc Duy, Jan 14, 2010
  3. Junio C HamanoJan 16, 2010
  4. Nguyen Thai Ngoc DuyJan 16, 2010
  5. 2/2 status: only touch path we may need to checkNguyễn Thái Ngọc Duy, Jan 14, 2010
  6. Sverre RabbelierJan 14, 2010
  7. Junio C HamanoJan 16, 2010
  8. Martin LanghoffJan 14, 2010
  9. Nguyen Thai Ngoc DuyJan 15, 2010
  10. rm: only refresh entries that we may touchNguyễn Thái Ngọc Duy, Jan 17, 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.