# HG changeset patch # User Boris Feld # Date 1542669286 0 # Node ID c0a1686d93913f477e3b9af4a5d6de3cf84f0fc9 # Parent 9d88ae5c635bac9477dea745da299fb306e87d40 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) diff -r 9d88ae5c635b -r c0a1686d9391 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')