【利用Python module计算程序运算时间】

发布于:2023-02-11 ⋅ 阅读:(687) ⋅ 点赞:(0)

本文简介如何利用Python module来计算程序运算时间

为什么要计算程序的运行时间

编写程序时,为了比较各种算法或优化算法,需要计算每个算法或重要代码段的运行时间,以去衡量算法的性能或作为代码优化的基准。
比如在定位系统中,UI需要实时地显示程序的计算结果;运行时间过长则会导致高延迟的UI显示,造成信息传达不准确、客户体验差的问题。


方法一:time module

Python有一个名为time的模块来处理与时间有关的任务。
time()函数返回自纪元以来的秒数。
对于Unix系统,1970年1月1日,00:00:00 UTC是纪元(时间开始的点)。

import time
seconds = time.time() #调用time module里面的time()函数
print("Seconds since epoch =", seconds)	

参考资料:Python time Module


使用time module计算程序的运行时间:

import time
starttime = time.time() 

run = 0 
for i in range(1, 5000):
    for j in range(1, 5000):
        run += i + j

print(f"The result is {run}")

endtime = time.time() 
#跑完程序后的时间-跑程序前的时间,结果保留两位浮数点
print(f"It took {endtime-starttime:.2f} seconds to compute") 

返回结果:

time_result


方法二:timeit module

使用timeit module计算程序的运行时间:

from timeit import timeit #
'''只import timeit会报错
返回 *TypeError: 'module' object is not callable*
原因 *混淆了类名(class)和模块名(module)。
问题出在导入行,你正在导入一个module,而不是一个class;但是module和class有相同的名字。*
'''

def run():
    run = 0
    for i in range(1, 5000):
        for j in range(1, 5000):
            run += i + j
    return run

# timeit(调用函数run(),运行环境,number=运行次数)
# result = timeit('run()', setup='from __main__ import run', number=1)
result = timeit(run, number=1)
print(f"It took {result:.2f} seconds to compute")

返回结果:

请添加图片描述


持续学习,欢迎大家留言讨论,谢谢。

本文含有隐藏内容,请 开通VIP 后查看