文章目录
timeit测试语句执行时间测试函数执行时间
repeat 重复测试耗时
timeit
测试语句执行时间
# -*- coding: utf-8 -*-
"""
@File : test.py
@Time : 2019/12/9 8:53
@Author : Dontla
@Email : [email protected]
@Software: PyCharm
"""
# 导入timeit.timeit
from timeit import timeit
# 看执行1000000次x=1的时间:
print(timeit('x=1')) # 0.013417188432417595
# 看x=1的执行时间,执行1次(number可以省略,默认值为1000000):
print(timeit('x=1', number=1)) # 3.1048244625297983e-07
# 看一个列表生成器的执行时间,执行1次:
print(timeit('[i for i in range(10000)]', number=1)) # 0.0006526341020257741
# 看一个列表生成器的执行时间,执行10000次:
print(timeit('[i for i in range(100) if i%2==0]', number=10000)) # 0.06086232152692783
测试函数执行时间
测试函数运行1000次的执行时间
# -*- coding: utf-8 -*-
"""
@File : test.py
@Time : 2019/12/9 8:53
@Author : Dontla
@Email : [email protected]
@Software: PyCharm
"""
# 导入timeit.timeit
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)
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) # [0.00493077172895876, 0.0049267354571574575, 0.004927045939603714, 0.0050102552351997676, 0.004938223307668854]
print(min(t)) # 0.0049267354571574575
参考文章:python中的计时器timeit的使用方法
|