perf: use standard arguments for perfrevlog
We have a convention of using -c|-m|FILE elsewhere for reading from
revlogs. Use it for `hg perfrevlog`.
While I was here, I also added a docstring to document what this
command does, as "perfrevlog" is ambiguous.
--- a/contrib/perf.py Fri Dec 18 09:47:21 2015 +0000
+++ b/contrib/perf.py Sun Dec 20 19:45:55 2015 -0800
@@ -474,16 +474,20 @@
timer(d, title)
fm.end()
-@command('perfrevlog',
- [('d', 'dist', 100, 'distance between the revisions')] + formatteropts,
- "[INDEXFILE]")
-def perfrevlog(ui, repo, file_, **opts):
+@command('perfrevlog', revlogopts + formatteropts +
+ [('d', 'dist', 100, 'distance between the revisions')],
+ '-c|-m|FILE')
+def perfrevlog(ui, repo, file_=None, **opts):
+ """Benchmark reading a series of revisions from a revlog.
+
+ By default, we read every ``-d/--dist`` revision from 0 to tip of
+ the specified revlog.
+ """
timer, fm = gettimer(ui, opts)
- from mercurial import revlog
dist = opts['dist']
_len = getlen(ui)
def d():
- r = revlog.revlog(lambda fn: open(fn, 'rb'), file_)
+ r = cmdutil.openrevlog(repo, 'perfrevlog', file_, opts)
for x in xrange(0, _len(r), dist):
r.revision(r.node(x))
--- a/tests/test-contrib-perf.t Fri Dec 18 09:47:21 2015 +0000
+++ b/tests/test-contrib-perf.t Sun Dec 20 19:45:55 2015 -0800
@@ -90,7 +90,7 @@
perfpathcopies
(no help text available)
perfrawfiles (no help text available)
- perfrevlog (no help text available)
+ perfrevlog Benchmark reading a series of revisions from a revlog.
perfrevlogrevision
Benchmark obtaining a revlog revision.
perfrevrange (no help text available)