[PATCH 1 of 2] perf: add a perfdirstatewrite benchmark

Bryan O'Sullivan bos at serpentine.com
Wed May 16 16:25:51 CDT 2012


# HG changeset patch
# User Bryan O'Sullivan <bryano at fb.com>
# Date 1337201146 25200
# Node ID b6b1d2ea67ce48bf71089915d8d11822160a445f
# Parent  50355b6b02a0b5308d8f908a460f874f7438c583
perf: add a perfdirstatewrite benchmark

diff --git a/contrib/perf.py b/contrib/perf.py
--- a/contrib/perf.py
+++ b/contrib/perf.py
@@ -79,6 +79,14 @@
         del repo.dirstate._dirs
     timer(d)
 
+def perfdirstatewrite(ui, repo):
+    ds = repo.dirstate
+    "a" in ds
+    def d():
+        ds._dirty = True
+        ds.write()
+    timer(d)
+
 def perfmanifest(ui, repo):
     def d():
         t = repo.manifest.tip()
@@ -226,6 +234,7 @@
     'perfancestors': (perfancestors, []),
     'perfdirstate': (perfdirstate, []),
     'perfdirstatedirs': (perfdirstate, []),
+    'perfdirstatewrite': (perfdirstatewrite, []),
     'perflog': (perflog,
                 [('', 'rename', False, 'ask log to follow renames')]),
     'perftemplating': (perftemplating, []),


More information about the Mercurial-devel mailing list