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

Re: [PATCH 11/11] tree-diff: reuse base str(buf) memory on sub-tree recursion

From
Kirill Smelkov <kirr@mns.spb.ru>
Date
Feb 13, 2014, 13:25 UTC
Message-ID
<20140213132524.GA15450@tugrik.mns.mnsspb.ru>
In-Reply-To
<645beb40c13912e87f6fe67d46af2b5e81dcaaca.1391794688.git.kirr@mns.spb.ru>
On Fri, Feb 07, 2014 at 09:48:52PM +0400, Kirill Smelkov wrote:
Show 12 quoted lines
> instead of allocating it all the time for every subtree in
> __diff_tree_sha1, let's allocate it once in diff_tree_sha1, and then all
> callee just use it in stacking style, without memory allocations.
> 
> This should be faster, and for me this change gives the following
> slight speedups for `git log --raw --no-abbrev --no-renames`
> 
>                 navy.git    linux.git v3.10..v3.11
> 
>     before      0.547s      1.791s
>     after       0.541s      1.777s
>     speedup     1.1%        0.8%
The timings above was done with
    `git log --raw --no-abbrev --no-renames --format='%H'`
                                            ^^^^^^^^^^^^^
Please change them to correct timings:
                navy.git    linux.git v3.10..v3.11
    before      0.618s      1.903s
    after       0.611s      1.889s
    speedup     1.1%        0.7%

Thanks, Kirill

Previous: Kirill SmelkovNext: Junio C Hamano
Message 15 of 21 in “More preparatory work for multiparent tree-walker”
  1. 00/11 More preparatory work for multiparent tree-walkerKirill Smelkov, Feb 7, 2014
  2. 01/11 tree-diff: show_tree() is not neededKirill Smelkov, Feb 7, 2014
  3. 02/11 tree-diff: consolidate code for emitting diffs and recursion in one placeKirill Smelkov, Feb 7, 2014
  4. Junio C HamanoFeb 13, 2014
  5. Kirill SmelkovFeb 13, 2014
  6. 03/11 tree-diff: don't assume compare_tree_entry() returns -1,0,1Kirill Smelkov, Feb 7, 2014
  7. 04/11 tree-diff: move all action-taking code out of compare_tree_entry()Kirill Smelkov, Feb 7, 2014
  8. 05/11 tree-diff: rename compare_tree_entry -> tree_entry_pathcmpKirill Smelkov, Feb 7, 2014
  9. 06/11 tree-diff: show_path prototype is not needed anymoreKirill Smelkov, Feb 7, 2014
  10. 07/11 tree-diff: simplify tree_entry_pathcmpKirill Smelkov, Feb 7, 2014
  11. 08/11 tree-diff: remove special-case diff-emitting code for empty-tree casesKirill Smelkov, Feb 7, 2014
  12. 09/11 tree-diff: rework diff_tree interface to be sha1 basedKirill Smelkov, Feb 7, 2014
  13. 10/11 tree-diff: no need to call "full" diff_tree_sha1 from show_path()Kirill Smelkov, Feb 7, 2014
  14. 11/11 tree-diff: reuse base str(buf) memory on sub-tree recursionKirill Smelkov, Feb 7, 2014
  15. Kirill SmelkovFeb 13, 2014
  16. Junio C HamanoFeb 11, 2014
  17. Kirill SmelkovFeb 11, 2014
  18. Junio C HamanoFeb 11, 2014
  19. Kirill SmelkovFeb 12, 2014
  20. Junio C HamanoFeb 12, 2014
  21. Kirill SmelkovFeb 13, 2014

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.