perf: add perfdirs command
authorBryan O'Sullivan <bryano@fb.com>
Mon, 01 Apr 2013 13:46:32 -0700
changeset 18845 c1f416e4bc80
parent 18844 37f8baaf31d2
child 18846 860d36b763ae
perf: add perfdirs command This measures the cost of computing the dirstate's dirs structure, which becomes very expensive in a large working directory.
contrib/perf.py
--- 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