From: Josef Weidendorfer Date: Wed, 13 Jun 2007 16:27:07 GMT Subject: Re: That improved git-gui blame viewer.. Message-ID: <200706131827.08163.Josef.Weidendorfer@gmx.de> In-Reply-To: On Wednesday 13 June 2007, Johannes Schindelin wrote: > ~1.4s log _with_ --pretty=raw > ~3.5s log _with_ --pretty=raw _and_ -z (!) That happens on linux, too. I am not really familiar with that code, but comparision of the call graphs of "git log" vs. "git log -z", as produced by callgrind (shameless plug) and visualized by kcachegrind (again, another shameless plug) shows that the difference happens in log_tree_diff, called from log_tree_commit. While without "-z", log_tree_diff immediatly returns because "opt->diff" is 0, in the case of "-z", the tree differences are fully done even not used at all ?! The result is that "log_tree_commit" executes (inclusive callees) 340 million instructions without "-z", while it runs 2300 million instructions in the "-z" case. Josef