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