On 10/13/2017 10:26 AM, Jeff King wrote:
On Fri, Oct 13, 2017 at 10:25:10AM -0400, Derrick Stolee wrote:
This does appear to be the problem. The missing DIFF_OPT_HAS_CHANGES is
causing diff_can_quit_early() to return false. Due to the corner-case of the
bug it seems it will not be a huge performance improvement in most cases.
Still worth fixing and I'm looking at your suggestions to try and learn this
area better.
Yeah, I just timed some pathspec limits on linux.git, and it makes at
best a fraction of a percent improvement (but any improvement is well
within run-to-run noise). Which is not surprising.
I agree it's worth fixing, though.
-Peff
I just ran a first-level folder history in the Windows repository and
`git rev-list HEAD -- windows >/dev/null` went from 0.43s to 0.04s. So,
a good percentage improvement but even on this enormous repo the bug
doesn't present an issue to human users.
Thanks,
-Stolee