Python timeit模块详解:精准测试代码执行耗时
本文详细介绍Python中timeit模块的使用方法,用于精准测量代码执行耗时。通过timeit函数可测试单次或多次运行的时间,结合number参数控制循环次数;repeat函数支持多次重复测试并返回时间列表,取最小值作为最终结果,有效排除系统资源干扰,适用于函数性能评估。
本文旨在讲解Python中timeit模块的具体用法,供读者参考学习。
timeit
一般我们在代码前后分别调用time.time(),通过相减获得运行时长。但Python提供了更专业的计时工具:timeit。
#导入timeit.timeit
from timeit import timeit
#看执行1000000次x=1的时间:
timeit('x=1')
#看x=1的执行时间,执行1次(number可以省略,默认值为1000000):
timeit('x=1', number=1)
#看一个列表生成器的执行时间,执行1次:
timeit('[i for i in range(10000)]', number=1)
#看一个列表生成器的执行时间,执行10000次:
timeit('[i for i in range(100) if i%2==0]', number=10000)
测试单个函数的执行耗时:
from timeit import timeit
def func():
s = 0
for i in range(1000):
s += i
print(s)
# timeit(函数名_字符串,运行环境_字符串,number=运行次数)
t = timeit('func()', 'from __main__ import func', number=1000)
print(t)
该示例演示了函数运行1000次的总耗时。
repeat:
由于计算机后台常有其他程序占用资源,单次运行未必能反映最高效率。因此通常进行多次试验,取最短耗时作为实际执行时间。
from timeit import repeat
def func():
s = 0
for i in range(1000):
s += i
#repeat和timeit用法相似,多了一个repeat参数,表示重复测试的次数(可以不写,默认值为3.),返回值为一个时间的列表。
t = repeat('func()', 'from __main__ import func', number=100, repeat=5)
print(t)
print(min(t))
以上内容为本文全部介绍,希望能为读者的学习提供便利,欢迎继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













