From: Daniel Barkalow Date: Tue, 31 Jan 2006 21:49:38 GMT Subject: Re: [PATCH 3/3] Use struct tree in diff-tree Message-ID: In-Reply-To: <7virs0uma8.fsf@assigned-by-dhcp.cox.net> On Tue, 31 Jan 2006, Junio C Hamano wrote: > Linus Torvalds writes: > > > On Sun, 29 Jan 2006, Daniel Barkalow wrote: > >> > >> It had been open-coding a tree parser. This updates the programs that > >> call diff_tree() to send it the struct tree instead of a buffer and > >> size. > > > > Please don't. > > ... > > Junio, please don't apply this. > > > > Linus > > I haven't, and I won't. From my gut feeling I did not even > place it in "pu". After timing it myself and then looking at > the code I agree with your analysis. > > The one to git-tar-tree I've already applied, mostly because I > was not careful enough and especially I did not care enough > about performance of that program. On my slow machine the tip > of kernel before you came back takes 9.2 seconds wallclock as > opposed to 8.7 seconds to tar up, so the patch degrades the > performance by about 5%. Maybe we would want to revert that one > as well. Probably a better solution is to move the tree parser from tree-diff.c into tree.c, provide a clear API in tree.h, and use that in tar-tree. There's definitely no need to have another parser beyond the one currently in tree-diff and the struct tree one. I think I should be able to change the struct tree API slightly to make it an iterator instead of a linked list, and get the efficiency benefits of the tree-diff parser while still having a nice API. -Daniel *This .sig left intentionally blank*