Re: diffcore-rename performance mode
From: David Kastrup <hidden>
Date: 2016-06-15 22:43:36
Jeff King [off-list ref] writes:
On Tue, Sep 25, 2007 at 12:38:43PM -0400, Jeff King wrote:quoted
[...] What is most confusing is why the 'somefree' case performs so badly, since we should just be using the cnt_data. I'll see if gprof can shedOK, I found the problem. estimate_similarity calls diff_populate_filespec each time, even if we already have the cnt_data, which leads to recomputing the blob contents from deltas. Oops. Fixing this, the correct numbers are: | stock | nofree | old somefree | fixed somefree -----------------|----------------------------------------------- user time (s) | 76.78 | 16.96 | 46.26 | 16.99 peak memory (Kb) | 52300 | 66796 | 59156 | 57328 So now we're at a 4.5x speedup for about 10% extra memory usage. Patch will follow.
Sounds good except when we happen to just hit the "memory working set exceeds physical memory" sweet spot. But the odds are much better than for "nofree". -- David Kastrup