# HG changeset patch # User Boris Feld # Date 1527788048 -7200 # Node ID ae6e02fcee24ed2d74c9be73b7c11fb800cbebe9 # Parent a577a199983c5033192660c55db909df83fe65fc perftemplating: allow to specify the template to test This is useful to test the evolution of rendering time for a given template. diff -r a577a199983c -r ae6e02fcee24 contrib/perf.py --- a/contrib/perf.py Thu May 31 19:23:04 2018 +0200 +++ b/contrib/perf.py Thu May 31 19:34:08 2018 +0200 @@ -909,7 +909,8 @@ @command('perftemplating', [('r', 'rev', [], 'revisions to run the template on'), ] + formatteropts) -def perftemplating(ui, repo, **opts): +def perftemplating(ui, repo, testedtemplate=None, **opts): + """test the rendering time of a given template""" if makelogtemplater is None: ui.write_err('incompatible Mercurial version') return 1 @@ -922,9 +923,11 @@ revs = ['all()'] revs = list(scmutil.revrange(repo, revs)) - template = ('{date|shortdate} [{rev}:{node|short}]' - ' {author|person}: {desc|firstline}\n') - displayer = makelogtemplater(nullui, repo, template) + defaulttemplate = ('{date|shortdate} [{rev}:{node|short}]' + ' {author|person}: {desc|firstline}\n') + if testedtemplate is None: + testedtemplate = defaulttemplate + displayer = makelogtemplater(nullui, repo, testedtemplate) def format(): for r in revs: ctx = repo[r] diff -r a577a199983c -r ae6e02fcee24 tests/test-contrib-perf.t --- a/tests/test-contrib-perf.t Thu May 31 19:23:04 2018 +0200 +++ b/tests/test-contrib-perf.t Thu May 31 19:34:08 2018 +0200 @@ -113,7 +113,7 @@ perfstatus (no help text available) perftags (no help text available) perftemplating - (no help text available) + test the rendering time of a given template perfunidiff benchmark a unified diff between revisions perfvolatilesets benchmark the computation of various volatile set