Skip to content
Snippets Groups Projects
Commit 5d8ae9248a70 authored by sliquister's avatar sliquister
Browse files

scmutil: speed up relativization of paths when it's a no-op

Running commands from the root is commmon, in particular for
automation. Running `hg files > /tmp/a` from the root of
mozilla-central on linux:

before:
real	0m1,510s
user	0m1,387s
sys	0m0,090s

after:
real	0m1,266s
user	0m1,165s
sys	0m0,073s

(there are 280k paths, so this was costing ~1us per path somehow)

Differential Revision: https://phab.mercurial-scm.org/D8585
parent e607099d8b93
No related branches found
No related tags found
No related merge requests found
......@@ -803,9 +803,12 @@
if relative:
cwd = repo.getcwd()
pathto = repo.pathto
return lambda f: pathto(f, cwd)
elif repo.ui.configbool(b'ui', b'slash'):
if cwd != b'':
# this branch is correct when cwd == b'', ie cwd = repo root,
# but it's slower
pathto = repo.pathto
return lambda f: pathto(f, cwd)
if repo.ui.configbool(b'ui', b'slash'):
return lambda f: f
else:
return util.localpath
......
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