On Tue, 17 Oct 2006, Junio C Hamano wrote: > > * The 'maint' branch has this fix and produced 1.4.2.4 release. > > Linus Torvalds (1): > Fix hash function in xdiff library There's two things to note about this: - the libxdiff dependencies are broken, so it's likely that you need to do a "make clean; make" to actually see the result of this. We really should fix this. I was bitten by this _again_ when I wanted to do some performance testing, and was scratching my head about why it didn't seem to matter. I haven't looked into which part of the Makefile is broken yet, so I really don't know what's broken, but maybe somebody who likes makefiles could take a look? Basically, doing a touch xdiff/xmacros.h should cause a recompile of a lot more than it causes. - while the hash function problem _can_ cause really huge slowdowns in some unlucky situations, it actually causes noticeable performance issues even for normal situations. For example, for me on a 2GHz merom machine in the current git directory: Before: [torvalds@merom git]$ time ./git log -p | wc -l 746211 real 0m27.223s user 0m26.894s sys 0m0.424s After: [torvalds@merom git]$ time ./git log -p | wc -l 746211 real 0m9.638s user 0m9.329s sys 0m0.468s so there's a factor-of-three difference here even on a "normal" load like git itself. You don't need a huge file with tons of changes to see the effect of this. So we should fix the makefile to add whatever proper header file dependencies, but we should also make sure that whoever builds binaries has done a "make clean", otherwise the fix is potentially hidden. Linus - 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