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

From: David Kastrup <[email-masked]>
Date: Sat, 26 Apr 2014 19:30:06 +0200

David Kastrup <[email-masked]> writes:

> 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