contrib/perf.py
changeset 23878 37a92908a382
parent 23788 316ad725a1dd
child 24349 389693a245fa
equal deleted inserted replaced
23877:7cc77030c557 23878:37a92908a382
   127 def perftags(ui, repo):
   127 def perftags(ui, repo):
   128     import mercurial.changelog
   128     import mercurial.changelog
   129     import mercurial.manifest
   129     import mercurial.manifest
   130     timer, fm = gettimer(ui)
   130     timer, fm = gettimer(ui)
   131     def t():
   131     def t():
   132         repo.changelog = mercurial.changelog.changelog(repo.sopener)
   132         repo.changelog = mercurial.changelog.changelog(repo.svfs)
   133         repo.manifest = mercurial.manifest.manifest(repo.sopener)
   133         repo.manifest = mercurial.manifest.manifest(repo.svfs)
   134         repo._tags = None
   134         repo._tags = None
   135         return len(repo.tags())
   135         return len(repo.tags())
   136     timer(t)
   136     timer(t)
   137     fm.end()
   137     fm.end()
   138 
   138 
   267     import mercurial.revlog
   267     import mercurial.revlog
   268     timer, fm = gettimer(ui)
   268     timer, fm = gettimer(ui)
   269     mercurial.revlog._prereadsize = 2**24 # disable lazy parser in old hg
   269     mercurial.revlog._prereadsize = 2**24 # disable lazy parser in old hg
   270     n = repo["tip"].node()
   270     n = repo["tip"].node()
   271     def d():
   271     def d():
   272         cl = mercurial.revlog.revlog(repo.sopener, "00changelog.i")
   272         cl = mercurial.revlog.revlog(repo.svfs, "00changelog.i")
   273         cl.rev(n)
   273         cl.rev(n)
   274     timer(d)
   274     timer(d)
   275     fm.end()
   275     fm.end()
   276 
   276 
   277 @command('perfstartup')
   277 @command('perfstartup')
   310 def perfnodelookup(ui, repo, rev):
   310 def perfnodelookup(ui, repo, rev):
   311     timer, fm = gettimer(ui)
   311     timer, fm = gettimer(ui)
   312     import mercurial.revlog
   312     import mercurial.revlog
   313     mercurial.revlog._prereadsize = 2**24 # disable lazy parser in old hg
   313     mercurial.revlog._prereadsize = 2**24 # disable lazy parser in old hg
   314     n = repo[rev].node()
   314     n = repo[rev].node()
   315     cl = mercurial.revlog.revlog(repo.sopener, "00changelog.i")
   315     cl = mercurial.revlog.revlog(repo.svfs, "00changelog.i")
   316     def d():
   316     def d():
   317         cl.rev(n)
   317         cl.rev(n)
   318         clearcaches(cl)
   318         clearcaches(cl)
   319     timer(d)
   319     timer(d)
   320     fm.end()
   320     fm.end()
   535 def perfloadmarkers(ui, repo):
   535 def perfloadmarkers(ui, repo):
   536     """benchmark the time to parse the on-disk markers for a repo
   536     """benchmark the time to parse the on-disk markers for a repo
   537 
   537 
   538     Result is the number of markers in the repo."""
   538     Result is the number of markers in the repo."""
   539     timer, fm = gettimer(ui)
   539     timer, fm = gettimer(ui)
   540     timer(lambda: len(obsolete.obsstore(repo.sopener)))
   540     timer(lambda: len(obsolete.obsstore(repo.svfs)))
   541     fm.end()
   541     fm.end()