Thread (7 messages) 7 messages, 5 authors, 2017-05-01

Re: Terrible bad performance for it blame --date=iso -C -C master -- <file>

From: Junio C Hamano <hidden>
Date: 2017-03-31 15:52:55

"Ulrich Windl" [off-list ref] writes:
I was running "vc-annotate" in Emacs for a file from a large
repository (>40000 files, a big percentage being binary, about 10
commits). For the first file the result was presented rather soon, but
for a second file the command did not finish even after about 10
minutes!

The file in question is a rather short text file (124 kB), and
according to git log it has one commit.

While being bored, I did an strace of the command to find out that a
huge number of files is inspected.
With -C -C the user (vc-annotate?) is asking to inspect huge number
of files, to find if the contents of the file (except for the part
that came from its own previous version) came from other existing
files.  So this is very much expected.

It might not be a bad idea to teach "blame" not to pay attention to
any path that is marked as "-diff" (e.g. binary files) when trying
to see if remaining contents appeared by borrowing from them.  We do
not have that heuristics (yet).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help