📜  Python – 测量程序执行所花费的时间(1)

📅  最后修改于: 2023-12-03 15:19:06.183000             🧑  作者: Mango

Python – 测量程序执行所花费的时间

在编写Python程序时,经常需要分析程序的性能,检测程序中哪一部分需要花费更多时间来执行。Python内置的time模块提供了一些API来进行这种时间测量。

time模块的使用

使用time模块中的函数,可以在Python代码中计算时间差、执行时间和休眠等。

time.time()

time()函数可以获取当前时间戳,即自1970年1月1日以来经过的秒数。

import time

start = time.time()
# 执行时间较长的代码块
end = time.time()

print("程序执行时间:", end-start, "秒")
time.sleep(seconds)

sleep()函数会让当前线程休眠指定秒数。

import time

print("开始休眠")
time.sleep(5)
print("休眠结束")
time.perf_counter()

perf_counter()函数可以返回一个CPU级别的精确时间计数值,单位为秒。

import time

start = time.perf_counter()
# 执行时间较长的代码块
end = time.perf_counter()

print("程序执行时间:", end-start, "秒")
time.process_time()

process_time()函数会返回当前进程使用CPU的时间总量(不包括休眠时间)。

import time

start = time.process_time()
# 执行时间较长的代码块
end = time.process_time()

print("程序执行时间:", end-start, "秒")
性能分析器

除了以上的time模块的API外,Python还提供了一些第三方工具,可以更好地分析Python程序性能。其中,较为常用的是性能分析器,如cProfile、profile等。这些分析器可以为Python代码生成分析报告,并显示出每个函数的执行总时间、执行总次数、每次执行所消耗的时间等信息。

python -m cProfile my_script.py
总结

通过使用time模块提供的函数,我们可以很容易地测量Python程序的执行时间。而利用性能分析器,更可以深入分析程序的性能瓶颈,从而对程序进行优化。