在Python开发中,测量代码性能是优化程序的重要前提。通过合理的工具和方法,我们可以准确知道某段逻辑耗费了多少时间,或者哪个函数调用最频繁。本节先给出整体认识,随后逐一介绍具体做法。

使用time模块测量耗时
最简单的方式是使用time模块记录代码执行前后的时间戳,相减得到耗时。适合对整体代码块做粗略评估。
import time
start = time.time()
# 模拟耗时操作
total = 0
for i in range(1000000):
total += i
end = time.time()
print("耗时:", end - start, "秒")
用timeit做微基准测试
timeit模块能避免其他进程干扰,多次运行取最优值,非常适合测量小段代码的执行效率。
import timeit
code = """
total = 0
for i in range(1000):
total += i
"""
# 运行1000次取最短时间
best = timeit.timeit(stmt=code, number=1000)
print("最佳耗时:", best, "秒")
使用cProfile分析函数调用
当程序较复杂时,可以用cProfile查看每个函数的调用次数和耗时,从而定位性能瓶颈。
import cProfile
def slow_func():
return sum(i * i for i in range(100000))
def main():
for _ in range(10):
slow_func()
cProfile.run("main()")
不同方法对比
| 方法 | 适用场景 | 精度 |
|---|---|---|
| time模块 | 整体代码块 | 低 |
| timeit | 小段代码 | 高 |
| cProfile | 函数级分析 | 中 |
总结建议
日常调试可用time模块快速查看;写基准测试用timeit更严谨;排查复杂项目瓶颈用cProfile。合理组合这些工具,就能系统提升Python代码性能。