##// END OF EJS Templates
copies: make calculating lazy for dir move detection's "addedfiles"...
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
Kyle Lippincott -
r46725:2f357d05 default
Show More
Name Size Modified Last Commit Author
/ mercurial / thirdparty / zope / interface
common
LICENSE.txt Loading ...
__init__.py Loading ...
_compat.py Loading ...
_flatten.py Loading ...
_zope_interface_coptimizations.c Loading ...
adapter.py Loading ...
advice.py Loading ...
declarations.py Loading ...
document.py Loading ...
exceptions.py Loading ...
interface.py Loading ...
interfaces.py Loading ...
registry.py Loading ...
ro.py Loading ...
verify.py Loading ...