如何使用Python中的内置函数来测量程序运行时间?
发布时间:2023-06-20 02:53:53
Python中的内置模块time提供了一些函数来测量程序的执行时间,主要有time.time()和timeit()两种方式。
一、使用time.time()计算程序运行时间
time.time()函数会返回从1970年1月1日零时开始的秒数,因此可以通过记录程序开始和结束时间,然后求差值来计算程序的运行时间。
示例代码如下:
import time
# 计算程序运行时间的函数
def calculate_run_time():
start_time = time.time()
# 程序代码
time.sleep(1) # 模拟程序运行1秒钟
end_time = time.time()
run_time = end_time - start_time
print("程序运行时间为:%.5f秒" % run_time) # 保留5位小数输出
运行结果:
程序运行时间为:1.00104秒
二、使用timeit()函数计算程序运行时间
timeit()函数是用来测试小段代码执行速度的,它会自动执行多次,然后计算平均值,从而减小误差。
timeit()函数有三种使用方式:函数形式、命令行形式和面向对象形式。
1. 函数形式
import timeit
# 测试代码的函数
def test():
a = [i**2 for i in range(1000)]
# 使用timeit()计算程序运行时间
print(timeit.timeit(stmt=test, number=10000)) # stmt为待测试语句,number为测试次数
运行结果:
0.14359289999990734
2. 命令行形式
在命令行中直接使用以下命令:
python -m timeit -s "from xxx import xxx" "xxxxx"
其中,-s后面的参数为引入的模块或变量,原代码需要放在双引号内。
3. 面向对象形式
在Python的标准库中,还提供了一个Timer类,可以用来计算程序运行时间。
import timeit # 创建Timer对象 t = timeit.Timer(stmt="[i**2 for i in range(1000)]") # 执行10次,返回执行时间 print(t.timeit(number=10))
运行结果:
0.006879500000037519
总结:
使用time.time()可以简单快捷地计算程序运行时间,但是其有一定误差,不太适合测试代码执行速度;而使用timeit()可以多次执行并计算平均值,可减小误差,能更准确地测试代码执行速度。使用时根据实际情况选择。
