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

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

From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Date
Jan 15, 2010, 13:36 UTC
Message-ID
<fcaeb9bf1001150536r445a9ee4jbf4fea4afa038c99@mail.gmail.com>
In-Reply-To
<46a038f91001140721j5acb766cxfd777570d6edfca4@mail.gmail.com>
On 1/14/10, Martin Langhoff <martin.langhoff@gmail.com> wrote:
Show 9 quoted lines
> 2010/1/14 Nguyễn Thái Ngọc Duy <pclouds@gmail.com>:
>
> > Almost 1 sec for "git rm foo" still seems too long though,
>  > probably due to writing a 9MB index.
>
>
> One of the main issues there is that the Gentoo dir tree seems to be
>  very flat. The kernel tree is huge, but much deeper, and does not have
>  a huge top-level directory -- and git handles it fairly well.

Kernel tree is about one third the size of gentoo-x86 in terms of worktree. It takes ~1 sec to do "git status" on kernel tree and 3 secs on gentoo-x86, quite proportional. Except that 3 secs feel much longer than 1 :-)

Directory structure may also affect performance though. Kernel tree only has ~2k directories while gentoo-x86 has ~20k shallow dirs.

Show 7 quoted lines
>  Perhaps the Gentoo tree can be rearranged to be more nested? If your
>  devs strongly prefer a flat view of it, that could be arranged with
>  symlinks.
>
>  Alternatively, each port can be in its own repo, and you can make a
>  "top level repo" using git submodules -- this is what Fedora/RH is
>  exploring at the moment.

There were discussions of these in the past. And to my experience, these ideas won't go anywhere. The number of worktree files may drop significantly after Git migration because I believe all ChangeLog (~13k files on total ~80k) will be gone.

-- 
Duy
Previous: Martin LanghoffNext: Nguyễn Thái Ngọc Duy
Message 9 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.