threads / discuss / 23713

git diff timing oddity

Subject: git diff timing oddity

## tl;dr

3 messages between May 6, 2010 and May 6, 2010.

replies: 2people: 2as markdown or json

Jay Soffian· May 6, 2010, 05:04 UTC · lore

git version 1.7.1, Mac OS X 10.6.3, largish repo (42K files, 35K commits, well packed ~ 1GB). Difference between origin and HEAD is a single commit.

$ time git diff --stat origin  >/dev/null

real 0m0.942s user 0m0.713s sys 0m0.223s

$ time git diff --stat origin  >/dev/null

real 0m0.944s user 0m0.712s sys 0m0.227s

$ time git diff --stat origin  >/dev/null

real 0m0.944s user 0m0.712s sys 0m0.225s

$ time git diff --stat origin HEAD >/dev/null

real 0m0.022s user 0m0.006s sys 0m0.012s

$ time git diff --stat origin HEAD >/dev/null

real 0m0.022s user 0m0.006s sys 0m0.013s

$ time git diff --stat origin HEAD >/dev/null

real 0m0.023s user 0m0.006s sys 0m0.013s

These should be identical commands, so why is the "origin HEAD" form running an order of magnitude faster?

j.
Jay Soffian· May 6, 2010, 05:07 UTC · re: Jay Soffian · lore

Re: git diff timing oddity

On Thu, May 6, 2010 at 1:04 AM, Jay Soffian <jaysoffian@gmail.com> wrote:
> These should be identical commands, so why is the "origin HEAD" form
> running an order of magnitude faster?

Because I'm an idiot. Three times I ran "origin" and thought I was running "origin..". Sigh.

j.
Jeff King· May 6, 2010, 05:08 UTC · re: Jay Soffian · lore

Re: git diff timing oddity

On Thu, May 06, 2010 at 01:04:18AM -0400, Jay Soffian wrote:
Show 22 quoted lines
> git version 1.7.1, Mac OS X 10.6.3, largish repo (42K files, 35K
> commits, well packed ~ 1GB). Difference between origin and HEAD is a
> single commit.
> 
> $ time git diff --stat origin  >/dev/null
> 
> real	0m0.942s
> user	0m0.713s
> sys	0m0.223s
>
> [...]
>
> $ time git diff --stat origin HEAD >/dev/null
> 
> real	0m0.022s
> user	0m0.006s
> sys	0m0.012s
>
> [...]
> 
> These should be identical commands, so why is the "origin HEAD" form
> running an order of magnitude faster?
Isn't "git diff --stat origin" comparing against the working tree?
-Peff

← back to recent threads