perf: use the new setup function in "perfbookmarks"
authorBoris Feld <boris.feld@octobus.net>
Mon, 19 Nov 2018 23:14:46 +0000
changeset 40681 c0a1686d9391
parent 40680 9d88ae5c635b
child 40682 4369c00a8ee1
perf: use the new setup function in "perfbookmarks" This command was picked arbitrarily to display the usefulness of the new feature. In my Mercurial repository (with very few bookmarks), moving cache cleanup in the dedicated setup function has a visible and stable effect on the benchmark number. before: ! wall 0.000061 comb 0.000000 user 0.000000 sys 0.000000 (median of 40837) after: ! wall 0.000058 comb 0.000000 user 0.000000 sys 0.000000 (median of 40500)
contrib/perf.py
--- a/contrib/perf.py	Mon Nov 19 22:55:07 2018 +0000
+++ b/contrib/perf.py	Mon Nov 19 23:14:46 2018 +0000
@@ -576,10 +576,12 @@
     """benchmark parsing bookmarks from disk to memory"""
     opts = _byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
-    def d():
+
+    def s():
         clearfilecache(repo, b'_bookmarks')
+    def d():
         repo._bookmarks
-    timer(d)
+    timer(d, setup=s)
     fm.end()
 
 @command(b'perfbundleread', formatteropts, b'BUNDLE')