📅  最后修改于: 2023-12-03 15:19:06.183000             🧑  作者: Mango
在编写Python程序时,经常需要分析程序的性能,检测程序中哪一部分需要花费更多时间来执行。Python内置的time模块提供了一些API来进行这种时间测量。
使用time模块中的函数,可以在Python代码中计算时间差、执行时间和休眠等。
time()函数可以获取当前时间戳,即自1970年1月1日以来经过的秒数。
import time
start = time.time()
# 执行时间较长的代码块
end = time.time()
print("程序执行时间:", end-start, "秒")
sleep()函数会让当前线程休眠指定秒数。
import time
print("开始休眠")
time.sleep(5)
print("休眠结束")
perf_counter()函数可以返回一个CPU级别的精确时间计数值,单位为秒。
import time
start = time.perf_counter()
# 执行时间较长的代码块
end = time.perf_counter()
print("程序执行时间:", end-start, "秒")
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程序的执行时间。而利用性能分析器,更可以深入分析程序的性能瓶颈,从而对程序进行优化。