diff --git a/contrib/perf.py b/contrib/perf.py --- a/contrib/perf.py +++ b/contrib/perf.py @@ -975,6 +975,23 @@ def perfchangeset(ui, repo, rev, **opts) 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 diff --git a/tests/test-contrib-perf.t b/tests/test-contrib-perf.t --- a/tests/test-contrib-perf.t +++ b/tests/test-contrib-perf.t @@ -86,6 +86,7 @@ perfstatus 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 @@ perfstatus fncache already up to date #endif $ hg perfheads + $ hg perfignore $ hg perfindex $ hg perflinelogedits -n 1 $ hg perfloadmarkers