Re: git and larger trees, not so fast?
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 10, 2007, 05:55 UTC
- Message-ID
- <7vy7gkue5s.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <7v643ovyli.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano <gitster@pobox.com> writes:
Show 10 quoted lines
> Linus Torvalds <torvalds@linux-foundation.org> writes: > >> (I didn't test it, though, maybe I missed something). > > I do not think the change affects the normal codepath. The > one-liner patch to git-commit.sh touches the codepath that > updates the index used only to write out the partial commit, and > losing the cached stat info from that index does not matter, as > that index is removed immediately after writing the tree out and > is never compared with working tree as far as I can tell.
FWIW, moe's script with and without two patches gives these numbers for me.
with patches without patches
----------------------------------------------------------------
# git init | # git init
Initialized empty Git repository in | Initialized empty Git repository in
|
real 0m0.029s | real 0m0.004s
user 0m0.000s | user 0m0.000s
sys 0m0.008s | sys 0m0.004s
# git add . | # git add .
|
real 0m2.947s | real 0m3.038s
user 0m0.808s | user 0m0.876s
sys 0m2.120s | sys 0m1.996s
# git commit -a | # git commit -a
|
real 0m4.537s | real 0m4.674s
user 0m1.980s | user 0m1.888s
sys 0m2.356s | sys 0m2.332s
# git status (three times) | # git status (three times)
# On branch master | # On branch master
nothing to commit (working directory| nothing to commit (working directory
|
real 0m0.718s | real 0m17.323s
user 0m0.300s | user 0m16.913s
sys 0m0.416s | sys 0m0.396s
# On branch master | # On branch master
nothing to commit (working directory| nothing to commit (working directory
|
real 0m0.707s | real 0m16.994s
user 0m0.312s | user 0m16.573s
sys 0m0.400s | sys 0m0.416s
# On branch master | # On branch master
nothing to commit (working directory| nothing to commit (working directory
|
real 0m0.720s | real 0m18.042s
user 0m0.344s | user 0m17.633s
sys 0m0.376s | sys 0m0.408s
# git commit (one path) | # git commit (one path)
Created commit 3483df5: expose the t| Created commit ced664f: expose the t
1 files changed, 1 insertions(+), 1| 1 files changed, 1 insertions(+), 1
|
real 0m3.057s | real 0m38.130s
user 0m0.888s | user 0m37.458s
sys 0m0.712s | sys 0m0.616s
----------------------------------------------------------------