python 求取代码运行时间
我们知道为了提高代码的运行速度,我们需要对书写的python
代码进行性能测试,而代码性能的高低的直接反馈是电脑运行代码所需要的时间。这里将介绍四种常用的测试代码运行速度的方法。
第一种:使用time
模块对代码的运行时间进行统计,代码如下:
import time
class Debug:
def mainProgram(self):
start_time = time.time()
for i in range(100):
print(i)
end_time = time.time()
print(f"the running time is: {end_time - start_time} s")
if __name__ == "__main__":
main = Debug()
main.mainProgram()
我们采用time
模块给所要测试的代码的前后加上时间戳,一个记为start_time
,一个记作end_time
,最后代码块的运行时间为end_time-start_time
,单位为s(秒)
。当然在python
中还有许多的记录时间的模块,这里不做过多讨论,均类似于time
模块,实现思路上一致,代码实现上大同小异。
第二种:使用IPython
的Built-in magic commands
,%time
,代码如下:
class Debug:
def mainProgram(self):
%time for i in range(100): print(i)
main = Debug()
main.mainProgram()
"""
Wall time: 1.99 ms
"""
这个类定义是可以去掉的,并不会影响最终的结果,%time
后面加上想要计算时间的代码,然后编译器就会在运行后自动给出所测试代码的运行时间,但是经过测试,%time
方法测出的时间并不准确,时间波动范围非常大,这个是很好理解的,因为计算机每时每刻都在处理一些进程,也就是说计算机的运行状态每时每刻都是不同的,所以在不同的时刻测试同一段代码的运行时间也会得到不同的结果。