perf: node lookup

This commit is contained in:
Matt Mackall 2012-03-30 14:16:06 -05:00
parent 0e0c036052
commit 98ed4dc5e9

View File

@ -111,6 +111,15 @@ def perfparents(ui, repo):
def perflookup(ui, repo, rev):
timer(lambda: len(repo.lookup(rev)))
def perfnodelookup(ui, repo, rev):
import mercurial.revlog
mercurial.revlog._prereadsize = 2**24 # disable lazy parser in old hg
n = repo[rev].node()
def d():
cl = mercurial.revlog.revlog(repo.sopener, "00changelog.i")
cl.rev(n)
timer(d)
def perflog(ui, repo, **opts):
ui.pushbuffer()
timer(lambda: commands.log(ui, repo, rev=[], date='', user='',
@ -153,6 +162,7 @@ def perfrevlog(ui, repo, file_, **opts):
cmdtable = {
'perflookup': (perflookup, []),
'perfnodelookup': (perfnodelookup, []),
'perfparents': (perfparents, []),
'perfstartup': (perfstartup, []),
'perfstatus': (perfstatus, []),