##// END OF EJS Templates
treemanifest: stop storing full path for each item in manifest._lazydirs...
treemanifest: stop storing full path for each item in manifest._lazydirs This information is obtainable, if needed, based on the lazydirs key (which is the entry name) and the manifest's `dir()` method. ### Performance This is actually both a memory and a performance improvement, but it's likely to be a very small one in most situations. In the pathological repo I've been using for testing other performance work I've done recently, this reduced the time for a rebase operation (rebasing two commits across a public-phase change that touches a sibling of one of my tracked directories where the common parent is massive (>>10k entries)): #### Before ``` Time (mean ± σ): 4.059 s ± 0.121 s [User: 0.9 ms, System: 0.6 ms] Range (min … max): 3.941 s … 4.352 s 10 runs ``` #### After ``` Time (mean ± σ): 3.707 s ± 0.060 s [User: 0.8 ms, System: 0.8 ms] Range (min … max): 3.648 s … 3.818 s 10 runs ``` Differential Revision: https://phab.mercurial-scm.org/D9553
Kyle Lippincott -
r46711:93e09d37 default
Show More
Name Size Modified Last Commit Author
/ mercurial / utils
__init__.py Loading ...
cborutil.py Loading ...
compression.py Loading ...
dateutil.py Loading ...
hashutil.py Loading ...
memorytop.py Loading ...
procutil.py Loading ...
repoviewutil.py Loading ...
resourceutil.py Loading ...
storageutil.py Loading ...
stringutil.py Loading ...