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

Re: git checkout running very slowly (>12s)

From
Andreas Ericsson <ae@op5.se>
Date
Jun 15, 2011, 22:46 UTC
Message-ID
<4DF9363F.6080009@op5.se>
In-Reply-To
<loom.20110615T213016-856@post.gmane.org>
On 06/15/2011 09:30 PM, Andrew Cameron wrote:
Show 5 quoted lines
> Some git operations (notably checkouts) are taking a very long time to execute.
> Here is a shell session which illustrates the problem.
> 
> $ time git branch foo
> git branch foo  0.01s user 0.00s system 77% cpu 0.016 total

Creating a branch is just a matter of creating a new ref. In this case, you're doing it on the currently checked out ref. That's a constant-time operation that is always very quick.

> $ time git checkout foo
> Switched to branch 'foo'
> git checkout foo  11.73s user 0.18s system 99% cpu 11.937 total

If this sequence of commands is accurate, that's a bit weird. If you've got another branch checked out first and then switch it would be understandable, considering the size of the repository. We should probably still do a tree-by-tree comparison to see which files are changed though, but I thought that's already done to avoid superfluous work and allow worktree changes to carry over to other branches. What version of git are you using?

Show 12 quoted lines
> $ time git checkout master
> Switched to branch 'master'
> git checkout master  11.62s user 0.18s system 99% cpu 11.813 total
> $ git count-objects -v
> count: 953
> size: 527012
> in-pack: 153432
> packs: 7
> size-pack: 1986072
> prune-packable: 0
> garbage: 0
> 
These figures are nowhere near as interesting as those from
  git ls-files | wc -l
after the checkout is completed.
-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.
Previous: Andrew CameronNext: Andrew Cameron
Message 2 of 7 in “git checkout running very slowly (>12s)”
  1. Andrew CameronJun 15, 2011
  2. Andreas EricssonJun 15, 2011
  3. Andrew CameronJun 15, 2011
  4. Andrew CameronJun 20, 2011
  5. Jeff KingJun 21, 2011
  6. Jeff KingJun 21, 2011
  7. Andrew CameronJun 21, 2011

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.