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.