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

Re: [PATCH 1/2] blame: large-scale performance rewrite

From
David Kastrup <dak@gnu.org>
Date
Apr 26, 2014, 17:30 UTC
Message-ID
<874n1g80dd.fsf@fencepost.gnu.org>
In-Reply-To
<87d2g481nb.fsf@fencepost.gnu.org>
David Kastrup <dak@gnu.org> writes:
Show 7 quoted lines
> http://repo.or.cz/r/wortliste.git
> git blame [-M / -C] wortliste
>
> The latter one is _really_ taking a severe hit from the O(n^2)
> algorithms.  If your benchmarks for that one still point mostly to the
> unpacking, your jgit blame should be fine regarding the stuff
> I reimplemented.
Here's some example:
dak@lola:/usr/local/tmp/wortliste$ time git blame -n -s wortliste >/tmp/wl1

real 15m47.118s user 14m39.928s sys 1m1.872s dak@lola:/usr/local/tmp/wortliste$ time ../git/git blame -n -s wortliste >/tmp/wl2

real 3m40.947s user 2m40.296s sys 0m59.440s

Note how the system time is almost the same. I have some patches which make quite a bit of difference with that (at best, saving about half of the system time), but I have not yet found the silver bullet where I'd be reasonably sure that temporary memory use with non-linear history stays strictly in nice bounds.

-- 
David Kastrup
Previous: David KastrupNext: Shawn Pearce
Message 12 of 20 in “blame: large-scale performance rewrite”
  1. 1/2 blame: large-scale performance rewriteDavid Kastrup, Apr 25, 2014
  2. 2/2 Mention "git blame" improvements in release notesDavid Kastrup, Apr 25, 2014
  3. Junio C HamanoApr 26, 2014
  4. David KastrupApr 26, 2014
  5. Shawn PearceApr 26, 2014
  6. David KastrupApr 26, 2014
  7. Shawn PearceApr 26, 2014
  8. David KastrupApr 26, 2014
  9. Shawn PearceApr 26, 2014
  10. David KastrupApr 26, 2014
  11. David KastrupApr 26, 2014
  12. David KastrupApr 26, 2014
  13. Shawn PearceApr 26, 2014
  14. David KastrupApr 26, 2014
  15. Shawn PearceApr 27, 2014
  16. David KastrupApr 28, 2014
  17. Junio C HamanoApr 28, 2014
  18. David KastrupApr 28, 2014
  19. Ronnie SahlbergApr 28, 2014
  20. David KastrupApr 28, 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.