Hi Marat, On Wed, Oct 13, 2010 at 02:17:32AM -0700, Marat Radchenko wrote: > > Does diff_get_patch_id (in diff.c) really need to set xecfg.flags = > XDL_EMIT_FUNCNAMES? Removing that makes git-rev-list (called by rebase) 2x > faster here. Not sure about consequences though. Yes, this has already been fixed in ad14b450 (do not search functions for patch ID), which is currently in git.git's pu branch. Function name search performance has also been improved for some obscure cases in c099789b (diff: avoid repeated scanning while looking for funcname). Thanks anyways. If you notice anything else, please let us know. I had a look at your gprof results, but I cannot make much sense of it. I do not understand why git rev-list would even do any diffs. For me, rev-list spends more than 50% in libz. Can you give more details on the kind of repository you have (binaries, memory size, history size, any special attributes or options?), which git version you are using, and which options you are passing to rev-list? Clemens