contrib/perf.py
changeset 34749 acdc574cb8d7
parent 34678 e8a89ed7ce96
child 34750 caf6c446cbe3
equal deleted inserted replaced
34748:8c1d0fe1f431 34749:acdc574cb8d7
   138                 commands.norepo += ' %s' % ' '.join(parsealiases(name))
   138                 commands.norepo += ' %s' % ' '.join(parsealiases(name))
   139             return func
   139             return func
   140         return decorator
   140         return decorator
   141 
   141 
   142 try:
   142 try:
   143     import registrar
   143     import mercurial.registrar
       
   144     import mercurial.configitems
   144     configtable = {}
   145     configtable = {}
   145     configitem = registrar.configitem(configtable)
   146     configitem = mercurial.registrar.configitem(configtable)
       
   147     configitem('perf', 'presleep',
       
   148         default=mercurial.configitems.dynamicdefault,
       
   149     )
   146     configitem('perf', 'stub',
   150     configitem('perf', 'stub',
   147         default=False,
   151         default=mercurial.configitems.dynamicdefault,
   148     )
   152     )
   149 except (ImportError, AttributeError):
   153 except (ImportError, AttributeError):
   150     pass
   154     pass
   151 
   155 
   152 def getlen(ui):
   156 def getlen(ui):
   153     if ui.configbool("perf", "stub"):
   157     if ui.configbool("perf", "stub", False):
   154         return lambda x: 1
   158         return lambda x: 1
   155     return len
   159     return len
   156 
   160 
   157 def gettimer(ui, opts=None):
   161 def gettimer(ui, opts=None):
   158     """return a timer function and formatter: (timer, formatter)
   162     """return a timer function and formatter: (timer, formatter)
   211                 pass
   215                 pass
   212         fm = defaultformatter(ui, 'perf', opts)
   216         fm = defaultformatter(ui, 'perf', opts)
   213 
   217 
   214     # stub function, runs code only once instead of in a loop
   218     # stub function, runs code only once instead of in a loop
   215     # experimental config: perf.stub
   219     # experimental config: perf.stub
   216     if ui.configbool("perf", "stub"):
   220     if ui.configbool("perf", "stub", False):
   217         return functools.partial(stub_timer, fm), fm
   221         return functools.partial(stub_timer, fm), fm
   218     return functools.partial(_timer, fm), fm
   222     return functools.partial(_timer, fm), fm
   219 
   223 
   220 def stub_timer(fm, func, title=None):
   224 def stub_timer(fm, func, title=None):
   221     func()
   225     func()