[PATCH 7 of 8] py3: apply byteskwargs to contrib/perf

Matt Harbison mharbison72 at gmail.com
Sat Sep 22 11:28:43 EDT 2018


# HG changeset patch
# User Matt Harbison <matt_harbison at yahoo.com>
# Date 1537578867 14400
#      Fri Sep 21 21:14:27 2018 -0400
# Node ID f6dbc0131f506de7f3484946b2e1d90c2a087d74
# Parent  716b949d413e7f714f9f5f3595ee462f0a3bb928
py3: apply byteskwargs to contrib/perf

diff --git a/contrib/perf.py b/contrib/perf.py
--- a/contrib/perf.py
+++ b/contrib/perf.py
@@ -430,6 +430,7 @@ def clearfilecache(repo, attrname):
 
 @command(b'perfwalk', formatteropts)
 def perfwalk(ui, repo, *pats, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     m = scmutil.match(repo[None], pats, {})
     timer(lambda: len(list(repo.dirstate.walk(m, subrepos=[], unknown=True,
@@ -438,6 +439,7 @@ def perfwalk(ui, repo, *pats, **opts):
 
 @command(b'perfannotate', formatteropts)
 def perfannotate(ui, repo, f, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     fc = repo[b'.'][f]
     timer(lambda: len(fc.annotate(True)))
@@ -447,6 +449,7 @@ def perfannotate(ui, repo, f, **opts):
          [(b'u', b'unknown', False,
            b'ask status to look for unknown files')] + formatteropts)
 def perfstatus(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     #m = match.always(repo.root, repo.getcwd())
     #timer(lambda: sum(map(len, repo.dirstate.status(m, [], False, False,
     #                                                False))))
@@ -456,6 +459,7 @@ def perfstatus(ui, repo, **opts):
 
 @command(b'perfaddremove', formatteropts)
 def perfaddremove(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     try:
         oldquiet = repo.ui.quiet
@@ -478,6 +482,7 @@ def clearcaches(cl):
 
 @command(b'perfheads', formatteropts)
 def perfheads(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     cl = repo.changelog
     def d():
@@ -490,6 +495,8 @@ def perfheads(ui, repo, **opts):
 def perftags(ui, repo, **opts):
     import mercurial.changelog
     import mercurial.manifest
+
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     svfs = getsvfs(repo)
     repocleartagscache = repocleartagscachefunc(repo)
@@ -503,6 +510,7 @@ def perftags(ui, repo, **opts):
 
 @command(b'perfancestors', formatteropts)
 def perfancestors(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     heads = repo.changelog.headrevs()
     def d():
@@ -513,6 +521,7 @@ def perfancestors(ui, repo, **opts):
 
 @command(b'perfancestorset', formatteropts)
 def perfancestorset(ui, repo, revset, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     revs = repo.revs(revset)
     heads = repo.changelog.headrevs()
@@ -526,6 +535,7 @@ def perfancestorset(ui, repo, revset, **
 @command(b'perfbookmarks', formatteropts)
 def perfbookmarks(ui, repo, **opts):
     """benchmark parsing bookmarks from disk to memory"""
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     def d():
         clearfilecache(repo, b'_bookmarks')
@@ -546,6 +556,8 @@ def perfbundleread(ui, repo, bundlepath,
         streamclone,
     )
 
+    opts = pycompat.byteskwargs(opts)
+
     def makebench(fn):
         def run():
             with open(bundlepath, b'rb') as fh:
@@ -662,6 +674,7 @@ def perfchangegroupchangelog(ui, repo, v
 
     By default, all revisions are added to the changegroup.
     """
+    opts = pycompat.byteskwargs(opts)
     cl = repo.changelog
     nodes = [cl.lookup(r) for r in repo.revs(rev or b'all()')]
     bundler = changegroup.getbundler(version, repo)
@@ -681,6 +694,7 @@ def perfchangegroupchangelog(ui, repo, v
 
 @command(b'perfdirs', formatteropts)
 def perfdirs(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     dirstate = repo.dirstate
     b'a' in dirstate
@@ -692,6 +706,7 @@ def perfdirs(ui, repo, **opts):
 
 @command(b'perfdirstate', formatteropts)
 def perfdirstate(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     b"a" in repo.dirstate
     def d():
@@ -702,6 +717,7 @@ def perfdirstate(ui, repo, **opts):
 
 @command(b'perfdirstatedirs', formatteropts)
 def perfdirstatedirs(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     b"a" in repo.dirstate
     def d():
@@ -712,6 +728,7 @@ def perfdirstatedirs(ui, repo, **opts):
 
 @command(b'perfdirstatefoldmap', formatteropts)
 def perfdirstatefoldmap(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     dirstate = repo.dirstate
     b'a' in dirstate
@@ -723,6 +740,7 @@ def perfdirstatefoldmap(ui, repo, **opts
 
 @command(b'perfdirfoldmap', formatteropts)
 def perfdirfoldmap(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     dirstate = repo.dirstate
     b'a' in dirstate
@@ -735,6 +753,7 @@ def perfdirfoldmap(ui, repo, **opts):
 
 @command(b'perfdirstatewrite', formatteropts)
 def perfdirstatewrite(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     ds = repo.dirstate
     b"a" in ds
@@ -747,6 +766,7 @@ def perfdirstatewrite(ui, repo, **opts):
 @command(b'perfmergecalculate',
          [(b'r', b'rev', b'.', b'rev to merge against')] + formatteropts)
 def perfmergecalculate(ui, repo, rev, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     wctx = repo[None]
     rctx = scmutil.revsingle(repo, rev, rev)
@@ -764,6 +784,7 @@ def perfmergecalculate(ui, repo, rev, **
 
 @command(b'perfpathcopies', [], b"REV REV")
 def perfpathcopies(ui, repo, rev1, rev2, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     ctx1 = scmutil.revsingle(repo, rev1, rev1)
     ctx2 = scmutil.revsingle(repo, rev2, rev2)
@@ -777,6 +798,7 @@ def perfpathcopies(ui, repo, rev1, rev2,
           ], b"")
 def perfphases(ui, repo, **opts):
     """benchmark phasesets computation"""
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     _phases = repo._phasecache
     full = opts.get(b'full')
@@ -802,6 +824,7 @@ def perfphasesremote(ui, repo, dest=None
         hg,
         phases,
     )
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
 
     path = ui.paths.getpath(dest, default=(b'default-push', b'default'))
@@ -856,6 +879,7 @@ def perfmanifest(ui, repo, rev, manifest
     dict-like object
 
     Manifest caches are cleared before retrieval."""
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     if not manifest_rev:
         ctx = scmutil.revsingle(repo, rev, rev)
@@ -884,6 +908,7 @@ def perfmanifest(ui, repo, rev, manifest
 
 @command(b'perfchangeset', formatteropts)
 def perfchangeset(ui, repo, rev, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     n = scmutil.revsingle(repo, rev).node()
     def d():
@@ -895,6 +920,7 @@ def perfchangeset(ui, repo, rev, **opts)
 @command(b'perfindex', formatteropts)
 def perfindex(ui, repo, **opts):
     import mercurial.revlog
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     mercurial.revlog._prereadsize = 2**24 # disable lazy parser in old hg
     n = repo[b"tip"].node()
@@ -907,6 +933,7 @@ def perfindex(ui, repo, **opts):
 
 @command(b'perfstartup', formatteropts)
 def perfstartup(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     cmd = sys.argv[0]
     def d():
@@ -920,6 +947,7 @@ def perfstartup(ui, repo, **opts):
 
 @command(b'perfparents', formatteropts)
 def perfparents(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     # control the number of commits perfparents iterates over
     # experimental config: perf.parentscount
@@ -936,6 +964,7 @@ def perfparents(ui, repo, **opts):
 
 @command(b'perfctxfiles', formatteropts)
 def perfctxfiles(ui, repo, x, **opts):
+    opts = pycompat.byteskwargs(opts)
     x = int(x)
     timer, fm = gettimer(ui, opts)
     def d():
@@ -945,6 +974,7 @@ def perfctxfiles(ui, repo, x, **opts):
 
 @command(b'perfrawfiles', formatteropts)
 def perfrawfiles(ui, repo, x, **opts):
+    opts = pycompat.byteskwargs(opts)
     x = int(x)
     timer, fm = gettimer(ui, opts)
     cl = repo.changelog
@@ -955,6 +985,7 @@ def perfrawfiles(ui, repo, x, **opts):
 
 @command(b'perflookup', formatteropts)
 def perflookup(ui, repo, rev, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     timer(lambda: len(repo.lookup(rev)))
     fm.end()
@@ -966,6 +997,8 @@ def perflookup(ui, repo, rev, **opts):
 def perflinelogedits(ui, **opts):
     from mercurial import linelog
 
+    opts = pycompat.byteskwargs(opts)
+
     edits = opts[b'edits']
     maxhunklines = opts[b'max_hunk_lines']
 
@@ -993,6 +1026,7 @@ def perflinelogedits(ui, **opts):
 
 @command(b'perfrevrange', formatteropts)
 def perfrevrange(ui, repo, *specs, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     revrange = scmutil.revrange
     timer(lambda: len(revrange(repo, specs)))
@@ -1000,6 +1034,7 @@ def perfrevrange(ui, repo, *specs, **opt
 
 @command(b'perfnodelookup', formatteropts)
 def perfnodelookup(ui, repo, rev, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     import mercurial.revlog
     mercurial.revlog._prereadsize = 2**24 # disable lazy parser in old hg
@@ -1015,6 +1050,7 @@ def perfnodelookup(ui, repo, rev, **opts
          [(b'', b'rename', False, b'ask log to follow renames')
          ] + formatteropts)
 def perflog(ui, repo, rev=None, **opts):
+    opts = pycompat.byteskwargs(opts)
     if rev is None:
         rev=[]
     timer, fm = gettimer(ui, opts)
@@ -1030,6 +1066,7 @@ def perfmoonwalk(ui, repo, **opts):
 
     This also loads the changelog data for each revision in the changelog.
     """
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     def moonwalk():
         for i in repo.changelog.revs(start=(len(repo) - 1), stop=-1):
@@ -1047,6 +1084,8 @@ def perftemplating(ui, repo, testedtempl
         raise error.Abort((b"perftemplating not available with this Mercurial"),
                           hint=b"use 4.3 or later")
 
+    opts = pycompat.byteskwargs(opts)
+
     nullui = ui.copy()
     nullui.fout = open(os.devnull, r'wb')
     nullui.disablepager()
@@ -1072,12 +1111,14 @@ def perftemplating(ui, repo, testedtempl
 
 @command(b'perfcca', formatteropts)
 def perfcca(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     timer(lambda: scmutil.casecollisionauditor(ui, False, repo.dirstate))
     fm.end()
 
 @command(b'perffncacheload', formatteropts)
 def perffncacheload(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     s = repo.store
     def d():
@@ -1087,6 +1128,7 @@ def perffncacheload(ui, repo, **opts):
 
 @command(b'perffncachewrite', formatteropts)
 def perffncachewrite(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     s = repo.store
     lock = repo.lock()
@@ -1103,6 +1145,7 @@ def perffncachewrite(ui, repo, **opts):
 
 @command(b'perffncacheencode', formatteropts)
 def perffncacheencode(ui, repo, **opts):
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     s = repo.store
     s.fncache._load()
@@ -1258,6 +1301,7 @@ def perfunidiff(ui, repo, file_, rev=Non
     measure diffs for all changes related to that changeset (manifest
     and filelogs).
     """
+    opts = pycompat.byteskwargs(opts)
     if opts[b'alldata']:
         opts[b'changelog'] = True
 
@@ -1307,6 +1351,7 @@ def perfunidiff(ui, repo, file_, rev=Non
 @command(b'perfdiffwd', formatteropts)
 def perfdiffwd(ui, repo, **opts):
     """Profile diff of working directory changes"""
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     options = {
         b'w': b'ignore_all_space',
@@ -1334,6 +1379,8 @@ def perfrevlogindex(ui, repo, file_=None
     index data.
     """
 
+    opts = pycompat.byteskwargs(opts)
+
     rl = cmdutil.openrevlog(repo, b'perfrevlogindex', file_, opts)
 
     opener = getattr(rl, 'opener')  # trick linter
@@ -1454,6 +1501,8 @@ def perfrevlogrevisions(ui, repo, file_=
 
     The start revision can be defined via ``-s/--startrev``.
     """
+    opts = pycompat.byteskwargs(opts)
+
     rl = cmdutil.openrevlog(repo, b'perfrevlogrevisions', file_, opts)
     rllen = getlen(ui)(rl)
 
@@ -1493,6 +1542,8 @@ def perfrevlogchunks(ui, repo, file_=Non
     For measurements of higher-level operations like resolving revisions,
     see ``perfrevlogrevisions`` and ``perfrevlogrevision``.
     """
+    opts = pycompat.byteskwargs(opts)
+
     rl = cmdutil.openrevlog(repo, b'perfrevlogchunks', file_, opts)
 
     # _chunkraw was renamed to _getsegmentforrevs.
@@ -1609,6 +1660,8 @@ def perfrevlogrevision(ui, repo, file_, 
 
     This command measures the time spent in each of these phases.
     """
+    opts = pycompat.byteskwargs(opts)
+
     if opts.get(b'changelog') or opts.get(b'manifest'):
         file_, rev = None, file_
     elif rev is None:
@@ -1713,6 +1766,8 @@ def perfrevset(ui, repo, expr, clear=Fal
     Use the --clean option if need to evaluate the impact of build volatile
     revisions set cache on the revset execution. Volatile cache hold filtered
     and obsolete related cache."""
+    opts = pycompat.byteskwargs(opts)
+
     timer, fm = gettimer(ui, opts)
     def d():
         if clear:
@@ -1731,6 +1786,7 @@ def perfvolatilesets(ui, repo, *names, *
     """benchmark the computation of various volatile set
 
     Volatile set computes element related to filtering and obsolescence."""
+    opts = pycompat.byteskwargs(opts)
     timer, fm = gettimer(ui, opts)
     repo = repo.unfiltered()
 
@@ -1776,6 +1832,7 @@ def perfbranchmap(ui, repo, *filternames
 
     This benchmarks the full repo.branchmap() call with read and write disabled
     """
+    opts = pycompat.byteskwargs(opts)
     full = opts.get(b"full", False)
     clear_revbranch = opts.get(b"clear_revbranch", False)
     timer, fm = gettimer(ui, opts)
@@ -1839,6 +1896,8 @@ def perfbranchmap(ui, repo, *filternames
     ] + formatteropts)
 def perfbranchmapread(ui, repo, filter=b'', list=False, **opts):
     """benchmark reading the branchmap"""
+    opts = pycompat.byteskwargs(opts)
+
     if list:
         for name, kind, st in repo.cachevfs.readdir(stat=True):
             if name.startswith(b'branch2'):
@@ -1880,6 +1939,8 @@ def perfloadmarkers(ui, repo):
     norepo=True)
 def perflrucache(ui, mincost=0, maxcost=100, costlimit=0, size=4,
                  gets=10000, sets=10000, mixed=10000, mixedgetfreq=50, **opts):
+    opts = pycompat.byteskwargs(opts)
+
     def doinit():
         for i in pycompat.xrange(10000):
             util.lrucachedict(size)
@@ -2001,6 +2062,8 @@ def perflrucache(ui, mincost=0, maxcost=
 def perfwrite(ui, repo, **opts):
     """microbenchmark ui.write
     """
+    opts = pycompat.byteskwargs(opts)
+
     timer, fm = gettimer(ui, opts)
     def write():
         for i in range(100000):


More information about the Mercurial-devel mailing list