# HG changeset patch
# User Boris Feld <boris.f...@octobus.net>
# Date 1542708625 0
#      Tue Nov 20 10:10:25 2018 +0000
# Node ID 4ea6bac93535a7b6f69df014f738a45104bab934
# Parent  b56094b2c5263006b68997713825fa9647a7431c
# EXP-Topic perf-tags
# Available At https://bitbucket.org/octobus/mercurial-devel/
#              hg pull https://bitbucket.org/octobus/mercurial-devel/ -r 
4ea6bac93535
perf: move some of the perftags benchmark to the setup function

Creating fresh objects and clearing the cache should not be part of the
timing.

before: ! wall 0.020851 comb 0.020000 user 0.020000 sys 0.000000 (median of 138)
after:  ! wall 0.018740 comb 0.020000 user 0.020000 sys 0.000000 (median of 141)

diff --git a/contrib/perf.py b/contrib/perf.py
--- a/contrib/perf.py
+++ b/contrib/perf.py
@@ -539,14 +539,15 @@ def perftags(ui, repo, **opts):
     timer, fm = gettimer(ui, opts)
     svfs = getsvfs(repo)
     repocleartagscache = repocleartagscachefunc(repo)
-    def t():
+    def s():
         repo.changelog = mercurial.changelog.changelog(svfs)
         rootmanifest = mercurial.manifest.manifestrevlog(svfs)
         repo.manifestlog = mercurial.manifest.manifestlog(svfs, repo,
                                                           rootmanifest)
         repocleartagscache()
+    def t():
         return len(repo.tags())
-    timer(t)
+    timer(t, setup=s)
     fm.end()
 
 @command(b'perfancestors', formatteropts)
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to