[PATCH 1 of 8 V6] perf: add a `perftracecopies` command to benchmark copy tracking logic
Yuya Nishihara
yuya at tcha.org
Fri Nov 23 21:29:48 EST 2018
On Mon, 19 Nov 2018 17:49:40 +0100, Boris Feld wrote:
> # HG changeset patch
> # User Boris Feld <boris.feld at octobus.net>
> # Date 1542628825 0
> # Mon Nov 19 12:00:25 2018 +0000
> # Node ID 40c285f3b12012727bcdfd11984d81fe56386316
> # Parent dba590f27c7abacbd7e9b27f3e06822bb0b339cb
> # EXP-Topic copy-perf
> # Available At https://bitbucket.org/octobus/mercurial-devel/
> # hg pull https://bitbucket.org/octobus/mercurial-devel/ -r 40c285f3b120
> perf: add a `perftracecopies` command to benchmark copy tracking logic
> diff --git a/contrib/perf.py b/contrib/perf.py
> --- a/contrib/perf.py
> +++ b/contrib/perf.py
> @@ -1146,6 +1146,24 @@ def perftemplating(ui, repo, testedtempl
> timer(format)
> fm.end()
>
> + at command(b'perftracecopies', formatteropts +
> + [
> + (b's', b'source', b'', b'copy tracing source'),
> + (b'd', b'destination', b'', b'copy tracing destination'),
> + ])
> +def perftracecopies(ui, repo, source, destination, **opts):
> + """measure time necessary to trace copy between <source> and <destination>
> + """
> + opts = _byteskwargs(opts)
> + timer, fm = gettimer(ui, opts)
> + src = scmutil.revsingle(repo, source)
> + dst = scmutil.revsingle(repo, destination)
> +
> + def runone():
> + copies.pathcopies(repo[src], repo[dst])
> + timer(runone)
> + fm.end()
I just found there's perfpathcopies.
More information about the Mercurial-devel
mailing list