On Sat, Nov 08, 2008 at 01:31:27AM +0530, Abhijit Menon-Sen wrote: > I have a 240k-line file, and I change one character on every sixth line. > The resulting diff gives git serious indigestion: > > $ git --version > git version 1.6.0.3.640.g6331a > $ mkdir a; cd a; git init > Initialized empty Git repository in /home/ams/a/.git/ > $ cp ../1 .; git add 1; git commit -q -m 1 > $ cp ../2 1; git add 1; git commit -q -m 2 You don't need to go that far. You can stop at cp ../2 1 and run git diff from there. All the time is spent in the two loops in xdiff/xprepare.c:xdl_cleanup_records, on line 400 and 412. I'll leave the rest of the investigation to people actually knowing this code ;) Mike -- 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