
如何记录python计算时间
用户关注问题
我想知道如何在Python里计算某段代码的运行时间,应该使用哪些方法或者模块?
使用time模块测量代码执行时间
可以使用Python内置的time模块,通过time.time()函数记录代码执行前后的时间差,从而计算代码的运行时间。示例如下:
import time
start = time.time()
需要测量的代码
end = time.time()
print('运行时间:', end - start, '秒')
time.time()的精度有限,有更准确的工具来计算时间吗?
使用timeit模块进行更精确的时间测量
timeit模块专门用于精确测量小段代码的执行时间,它通过多次运行代码并取平均值来减少误差。使用示例:
import timeit
cost_time = timeit.timeit('your_function()', setup='from main import your_function', number=1000)
print('平均运行时间:', cost_time / 1000)
我有多段代码想分别测量各自时间,有没有简单的办法可以实现?
使用装饰器或日志记录多段时间
可以编写一个装饰器来自动测量并打印函数执行时间,或者使用logging模块配合time模块,记录每个代码段的开始和结束时间。装饰器示例:
def timer(func):
def wrapper(*args, **kwargs):
import time
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(f'{func.name}运行时间: {end - start}秒')
return result
return wrapper