Ok, I'm progressing rather like molasses with getting -M and -C
options back to work. In the mean time, here is another performance
preview without them. The main patch in the middle has basically
gotten some formatting/style fixes as opposed to last time round and
one small bug fix (concerning incremental output).
It still contains a significant amount of dead code: this series is
not supposed to be merged, it's just supposed to be exciting to see
how it performs.
There are two simple performance patches on top of the main patch, the
first of which offers somewhat significant savings in I/O time (which
was quite unaffected by the main rewrite so far). The gist of that
patch makes convenient use of the changed data layout to avoid
discarding blob data predictably required again right away.
It's likely that this is not the only opportunity to save performance
by better data management.
The second "performance" patch is not likely to measurably affect
overall performance. Avoiding irrelevant iterations might make
debugging more pleasant, however.
David Kastrup (5):
builtin/blame.c: struct blame_entry does not need a prev link
Eliminate same_suspect function in builtin/blame.c
builtin/blame.c: large-scale rewrite
Performance improvement: don't drop origin blobs that are going to get
Avoid queuing commits multiple times for the same origin
builtin/blame.c | 595 +++++++++++++++++++++++++++++++++++---------------------
1 file changed, 371 insertions(+), 224 deletions(-)
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html