在python中测量代码执行时间,最基础的做法是使用time模块获取代码运行前后的时间戳,两者相减即可得到耗时。对于更严谨的基准测试,可以使用timeit模块避免环境干扰。下面介绍具体实现方式。
使用time模块手动计时
time模块中的time()函数返回当前时间的时间戳(单位为秒)。在目标代码前后分别调用,计算差值:
import time
start = time.time()
# 需要测量的代码
result = sum(i * i for i in range(100000))
end = time.time()
print("耗时:", end - start, "秒")
这种方法简单直观,但受系统其他进程影响,结果可能有波动。
使用timeit模块做基准测试
timeit模块会多次运行代码并取最优结果,更适合微基准测试:
import timeit
code_to_test = """
result = sum(i * i for i in range(100000))
"""
elapsed = timeit.timeit(stmt=code_to_test, number=100)
print("平均每次:", elapsed / 100, "秒")
使用装饰器统一计时
如果多个函数都需要计时,可以写一个装饰器复用逻辑:
import time
from functools import wraps
def measure_time(func):
@wraps(func)
def wrapper(*args, **kwargs):
start = time.time()
res = func(*args, **kwargs)
end = time.time()
print(func.__name__, "耗时:", end - start)
return res
return wrapper
@measure_time
def compute():
return sum(i * i for i in range(100000))
compute()
方法对比
| 方法 | 适用场景 | 精确度 |
|---|---|---|
| time模块 | 快速查看耗时 | 一般 |
| timeit模块 | 严谨基准测试 | 高 |
| 装饰器 | 多函数统一计时 | 一般 |
在实际项目中,建议先用time模块做粗粒度排查,再用timeit模块对热点代码做精细测量。
python代码执行时间time_module修改时间:2026-07-26 23:36:12