##// END OF EJS Templates
perftest: add a command to benchmark construction of volatile cache...
Pierre-Yves David -
r18240:a8318715 default
parent child Browse files
Show More
@@ -1,7 +1,8 b''
1 # perf.py - performance test routines
1 # perf.py - performance test routines
2 '''helper extension to measure performance'''
2 '''helper extension to measure performance'''
3
3
4 from mercurial import cmdutil, scmutil, util, match, commands
4 from mercurial import cmdutil, scmutil, util, match, commands, obsolete
5 from mercurial import repoview
5 import time, os, sys
6 import time, os, sys
6
7
7 cmdtable = {}
8 cmdtable = {}
@@ -275,3 +276,28 b' def perfrevset(ui, repo, expr, clear=Fal'
275 repo.invalidatevolatilesets()
276 repo.invalidatevolatilesets()
276 repo.revs(expr)
277 repo.revs(expr)
277 timer(d)
278 timer(d)
279
280 @command('perfvolatilesets')
281 def perfvolatilesets(ui, repo):
282 """benchmark the computation of various volatile set
283
284 Volatile set computes element related to filtering and obsolescence."""
285 repo = repo.unfiltered()
286
287 def getobs(name):
288 def d():
289 repo.invalidatevolatilesets()
290 obsolete.getrevs(repo, name)
291 return d
292
293 for name in sorted(obsolete.cachefuncs):
294 timer(getobs(name), title=name)
295
296 def getfiltered(name):
297 def d():
298 repo.invalidatevolatilesets()
299 repoview.filteredrevs(repo, name)
300 return d
301
302 for name in sorted(repoview.filtertable):
303 timer(getfiltered(name), title=name)
General Comments 0
You need to be logged in to leave comments. Login now