官方文档:
https://docs.python.org/2/library/timeit.html?highlight=timeit.timer#timeit.Timer.timeit
该timeit模块有3函数1类:
个人偏向于使用类:
类初始化参数说明:
[A.py]
结果:
>>>
1.90454491448
该timeit模块有3函数1类:
timeit.timeit(stmt='pass', setup='pass', timer=<default timer>, number=1000000)
timeit.repeat(stmt='pass', setup='pass', timer=<default timer>, repeat=3, number=1000000)
timeit.default_timer()
class timeit.Timer(stmt='pass', setup='pass', timer=<timer function>)
个人偏向于使用类:
class timeit.Timer(stmt='pass', setup='pass', timer=<timer function>)
这个类也有三个函数:
timeit(number=1000000) #执行语句,return所需时间
repeat(repeat=3, number=1000000) #timeit()执行1000000次语句,整个大过程来3次,return一个list的执行时间
print_exc(file=None) #出错时打印出traceback
类初始化参数说明:
第一个参数是你要计时的语句或者函数。
第二个参数是为第一个参数语句构建环境的导入语句。
第三个参数是一个定时器【然而定时器本人还没涉及到,此处挖坑,待补】。
[A.py]
class A:
def f(self):
pass
[test.py]
import timeit
test_str = """
a = A()
for i in range(10000000):
a.f()
"""
t = timeit.Timer(test_str, "from A import A")
print min(t.repeat(3, 1))
结果:
>>>
1.90454491448
>>>