diff --git a/benchmarks/basic_commands.py b/benchmarks/basic_commands.py
index 357ed3a95baa035831444a457bdaaae510460fb9_YmVuY2htYXJrcy9iYXNpY19jb21tYW5kcy5weQ==..4822078e81b4e1096945a8dd6ce2031ba2321cc0_YmVuY2htYXJrcy9iYXNpY19jb21tYW5kcy5weQ== 100644
--- a/benchmarks/basic_commands.py
+++ b/benchmarks/basic_commands.py
@@ -16,8 +16,13 @@
 import urllib
 import pipes
 
-from .utils import (BaseNChangesetsTestSuite, BaseTestSuite,
-                    median, REPOS_DIR)
+from .utils import (
+    BaseNChangesetsTestSuite,
+    BaseTestSuite,
+    params_as_kwargs,
+    median,
+    REPOS_DIR
+)
 
 if sys.version_info[0] == 2:
     import Queue as queue
@@ -40,5 +45,9 @@
 
     timeout = 120
 
-    def track_commit(self, *args, **kwargs):
+    params = BaseTestSuite.params + [("create", "update")]
+    param_names = BaseTestSuite.param_names + ["mode"]
+
+    @params_as_kwargs
+    def track_commit(self, mode, **kwargs):
         timings = []
@@ -44,2 +53,3 @@
         timings = []
+        filename = None
 
@@ -45,5 +55,12 @@
 
-        with open(os.path.join(self.repo_path, 'BABAR'), 'w') as f:
-            f.write("BABAR")
+        self.hg('status')
+
+        if mode == 'create':
+            with open(os.path.join(self.repo_path, 'BABAR'), 'w') as f:
+                f.write("BABAR")
+        else:
+            # pick filename to update
+            filename = self.hg('manifest').partition('\n')[0]
+            filename = os.path.join(self.repo_path, filename)
 
         # Do the commits N time
@@ -48,4 +65,4 @@
 
         # Do the commits N time
-        for i in range(3):
+        for i in range(10):
             try:
@@ -51,2 +68,9 @@
             try:
+                if mode == 'update':
+                    with open(filename, 'a') as target:
+                        target.write(
+                            'The quick brown fox jumps over the lazy dog\n')
+                else:
+                    self.hg('add', 'BABAR')
+
                 before = time.time()
@@ -52,8 +76,8 @@
                 before = time.time()
-                self.hg('commit', '-A', '-m', 'My commit message',
+                self.hg('commit', '-m', 'My commit message',
                         '-u', '<test@octobus.net>')
                 after = time.time()
                 timings.append(after - before)
             finally:
                 # Rollback and clean
                 self.hg('rollback', '--config', 'ui.rollback=true')
@@ -54,9 +78,10 @@
                         '-u', '<test@octobus.net>')
                 after = time.time()
                 timings.append(after - before)
             finally:
                 # Rollback and clean
                 self.hg('rollback', '--config', 'ui.rollback=true')
+                self.hg('debugupdatecache')
                 self.hg('update', '-C', '.')
 
         return median(timings)