Page MenuHomePhabricator

copies: make calculating lazy for dir move detection's "addedfiles"

Authored by spectral on Dec 11 2020, 5:04 PM.



The information calculated here was only needed if (a) --debug was specified, or
(b) a directory move was plausibly detected. With tree manifests (especially in
my pathological repo and with our custom setup), pre-calculating the u1 and
u2 can be quite slow, and it's not even necessary in many cases. Let's delay
calculating it until we know it's actually necessary. This should have no
observable differences in output.


I ran a rebase command in my pathological repo, rebasing two nodes across
several public phase commits, but where no directory copies exist in any of the
paths I'm tracking.

Time (mean ± σ):      3.711 s ±  0.061 s    [User: 0.3 ms, System: 1.5 ms]
Range (min … max):    3.640 s …  3.827 s    10 runs
Time (mean ± σ):     868.3 ms ±  10.1 ms    [User: 0.5 ms, System: 1.2 ms]
Range (min … max):   856.6 ms … 883.6 ms    10 runs

Diff Detail

rHG Mercurial
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

spectral created this revision.Dec 11 2020, 5:04 PM
pulkit accepted this revision.Dec 12 2020, 2:09 AM
This revision is now accepted and ready to land.Dec 12 2020, 2:09 AM