git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 3/3] Use struct tree in diff-tree

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Jan 31, 2006, 21:49 UTC
Message-ID
<Pine.LNX.4.64.0601311626070.25300@iabervon.org>
In-Reply-To
<7virs0uma8.fsf@assigned-by-dhcp.cox.net>
On Tue, 31 Jan 2006, Junio C Hamano wrote:
Show 25 quoted lines
> Linus Torvalds <torvalds@osdl.org> 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*
Previous: Junio C HamanoNext: Linus Torvalds
Message 7 of 11 in “Remove more parsers”
  1. 0/3 Remove more parsersDaniel Barkalow, Jan 29, 2006
  2. 1/3 Use struct tree in tar-treeDaniel Barkalow, Jan 29, 2006
  3. 2/3 Use struct commit in tar-treeDaniel Barkalow, Jan 29, 2006
  4. 3/3 Use struct tree in diff-treeDaniel Barkalow, Jan 29, 2006
  5. Linus TorvaldsJan 31, 2006
  6. Junio C HamanoJan 31, 2006
  7. Daniel BarkalowJan 31, 2006
  8. Linus TorvaldsJan 31, 2006
  9. Junio C HamanoJan 29, 2006
  10. Daniel BarkalowJan 29, 2006
  11. Linus TorvaldsJan 31, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.