code: def bench(participants=participants, benchmarks=benchmarks,
            bench_time=BENCH_TIME):
      
  
      mcs = [p.factory() for p in participants]
      means = [[] for p in participants]
      stddevs = [[] for p in participants]
  
      # Have each lifter do one benchmark each
      last_fn = None
      for benchmark_name, fn, args, kwargs in benchmarks:
          logger.info('')
          logger.info('%s', benchmark_name)
  
          for i, (participant, mc) in enumerate(zip(participants, mcs)):
  
              # FIXME: set before bench for get
              if 'get' in fn.__name__:
                  last_fn(mc, *args, **kwargs)
  
              sw = Stopwatch()
              while sw.total() < bench_time:
                  with sw.timing():
                      fn(mc, *args, **kwargs)
  
              means[i].append(sw.mean())
              stddevs[i].append(sw.stddev())
  
              logger.info(u'%76s: %s', participant.name, sw)
          last_fn = fn
  
      return means, stddevs
docs: Do you even lift?