From: Dan McGee Date: Thu, 31 Mar 2011 13:56:11 GMT Subject: Re: [PATCH 1/5] diff_tree_sha1: skip diff_tree if old == new Message-ID: In-Reply-To: On Thu, Mar 31, 2011 at 7:58 AM, Nguyen Thai Ngoc Duy wrote: > On Thu, Mar 31, 2011 at 8:37 AM, Dan McGee wrote: >> These next few patches are all derived from trying to make operations on this >> repository a bit faster: >>    http://projects.archlinux.org/svntogit/packages.git/ >> >> ... >> >> time git log -- zzzzz_not_exist >/dev/null >>                          35.558s      0.976s > > Do you have numbers before and after applying this series? It'd be > interesting to see how much we gain from the series. Whipped some up for you: Repo Operation master after delta arch-packages ../git/git-log 2.26 2.27 -0.01 arch-packages ../git/git-log -- zzzzz_not_exist 34.69 26.75 7.93 arch-packages ../git/git-log -- aaaaa_first 6.02 5.76 0.26 linux-2.6 ../git/git-log 5.51 5.50 0.02 linux-2.6 ../git/git-log -- zzzzz_not_exist 0.95 0.92 0.03 linux-2.6 ../git/git-log -- aaaaa_first 0.89 0.86 0.03 These are all the "real" value from time with the full set of patches applied. As you can see, one either gains or isn't really affected by these; anything under 0.05s delta is noise. Bigger gains than this don't seem too plausible unless we move away from linear parsing and traversal of tree objects. -Dan