git diff is slow (--patience is fast)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Warning, downloaded files are 7.5Mb each.

~ $ git --version
git version 1.7.6
~ $ mkdir tmp
~ $ cd tmp
~/tmp $ git init
Initialized empty Git repository in /home/marat/tmp/.git/
~/tmp $ wget http://slonopotamus.org/git-diff/foo 2> /dev/null 
~/tmp $ git add -A
~/tmp $ git commit -am "initial"
[master (root-commit) 6b68e83] initial
 1 files changed, 410461 insertions(+), 0 deletions(-)
 create mode 100644 foo
~/tmp $ wget http://slonopotamus.org/git-diff/foo2 -O foo 2> /dev/null 
~/tmp $ time git diff > /dev/null 

real    0m6.513s
user    0m6.490s
sys     0m0.020s
~/tmp $ time git diff --patience > /dev/null 

real    0m0.237s
user    0m0.180s
sys     0m0.050s

Could something be done to `git diff` speed? I would be happy with patience 
diff, but other git commands call standard diff algorithm internally without 
giving an option to choose patience.

gprof output against git master:
http://slonopotamus.org/git-diff/gmon.txt

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]