python 计时工具:timeit

来源:互联网 发布:办理网络400电话 编辑:程序博客网 时间:2024/05/05 12:44
官方文档:https://docs.python.org/2/library/timeit.html?highlight=timeit.timer#timeit.Timer.timeit


该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 timeittest_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

>>> 


0 0