[PATCH 01 of 13] perf: add a benchmark for revrange
Bryan O'Sullivan
bos at serpentine.com
Fri Jun 1 17:51:59 CDT 2012
# HG changeset patch
# User Bryan O'Sullivan <bryano at fb.com>
# Date 1338591022 25200
# Node ID 247a8c2437e0321808b08f4c1b62788f1850e483
# Parent f6905f027923c06ee84d2ff3c0f818d54827fad8
perf: add a benchmark for revrange
diff --git a/contrib/perf.py b/contrib/perf.py
--- a/contrib/perf.py
+++ b/contrib/perf.py
@@ -140,6 +140,10 @@ def perfparents(ui, repo):
def perflookup(ui, repo, rev):
timer(lambda: len(repo.lookup(rev)))
+def perfrevrange(ui, repo, *specs):
+ revrange = scmutil.revrange
+ timer(lambda: len(revrange(repo, specs)))
+
def perfnodelookup(ui, repo, rev):
import mercurial.revlog
mercurial.revlog._prereadsize = 2**24 # disable lazy parser in old hg
@@ -223,6 +227,7 @@ cmdtable = {
'perffncacheload': (perffncacheload, []),
'perffncachewrite': (perffncachewrite, []),
'perflookup': (perflookup, []),
+ 'perfrevrange': (perfrevrange, []),
'perfnodelookup': (perfnodelookup, []),
'perfparents': (perfparents, []),
'perfstartup': (perfstartup, []),
More information about the Mercurial-devel
mailing list