Imported Upstream version 12.1.0
[contrib/python-twisted.git] / doc / core / benchmarks / timer.py
1 # Copyright (c) Twisted Matrix Laboratories.
2 # See LICENSE for details.
3
4 """
5 Helper stuff for benchmarks.
6 """
7
8 import gc
9 gc.disable()
10 print 'Disabled GC'
11
12 def timeit(func, iter = 1000, *args, **kwargs):
13     """
14     timeit(func, iter = 1000 *args, **kwargs) -> elapsed time
15     
16     calls func iter times with args and kwargs, returns time elapsed
17     """
18
19     from time import time as currentTime
20     r = range(iter)
21     t = currentTime()
22     for i in r:
23         func(*args, **kwargs)
24     return currentTime() - t