Skip to content
Snippets Groups Projects
Commit 2f357d053df2 authored by Kyle Lippincott's avatar Kyle Lippincott
Browse files

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

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.

### Performance

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.

#### Before

```
  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
```

#### After

```
  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
```

Differential Revision: https://phab.mercurial-scm.org/D9567
parent bdc2bf68f19e
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment