perf: add perfdirs command
This measures the cost of computing the dirstate's dirs structure,
which becomes very expensive in a large working directory.
--- a/contrib/perf.py Mon Apr 01 15:19:16 2013 -0500
+++ b/contrib/perf.py Mon Apr 01 13:46:32 2013 -0700
@@ -99,6 +99,15 @@
rev in s
timer(d)
+@command('perfdirs')
+def perfdirs(ui, repo):
+ dirstate = repo.dirstate
+ 'a' in dirstate
+ def d():
+ dirstate.dirs()
+ del dirstate._dirs
+ timer(d)
+
@command('perfdirstate')
def perfdirstate(ui, repo):
"a" in repo.dirstate