Mercurial > hg
changeset 40750:45a0047c0ebc
perf: add a perfignore command
The command is meant to benchmark operations related to hgignore. Right now the
command is benchmarking the loading time of the hgignore rules.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Thu, 22 Nov 2018 21:00:13 +0100 |
parents | ba706e3082bd |
children | 41b6245c3fc4 |
files | contrib/perf.py tests/test-contrib-perf.t |
diffstat | 2 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/contrib/perf.py Mon Nov 26 15:36:06 2018 +0300 +++ b/contrib/perf.py Thu Nov 22 21:00:13 2018 +0100 @@ -975,6 +975,23 @@ timer(d) fm.end() +@command(b'perfignore', formatteropts) +def perfignore(ui, repo, **opts): + """benchmark operation related to computing ignore""" + opts = _byteskwargs(opts) + timer, fm = gettimer(ui, opts) + dirstate = repo.dirstate + + def setupone(): + dirstate.invalidate() + clearfilecache(dirstate, b'_ignore') + + def runone(): + dirstate._ignore + + timer(runone, setup=setupone, title=b"load") + fm.end() + @command(b'perfindex', formatteropts) def perfindex(ui, repo, **opts): import mercurial.revlog
--- a/tests/test-contrib-perf.t Mon Nov 26 15:36:06 2018 +0300 +++ b/tests/test-contrib-perf.t Thu Nov 22 21:00:13 2018 +0100 @@ -86,6 +86,7 @@ perfhelper-pathcopies find statistic about potential parameters for the 'perftracecopies' + perfignore benchmark operation related to computing ignore perfindex (no help text available) perflinelogedits (no help text available) @@ -166,6 +167,7 @@ fncache already up to date #endif $ hg perfheads + $ hg perfignore $ hg perfindex $ hg perflinelogedits -n 1 $ hg perfloadmarkers