
Python如何查询循环运行时间
用户关注问题
我想知道在Python中怎样准确地测量一个循环运行所花费的时间,有哪些简单的方法?
使用time模块测量循环运行时间
可以使用Python内置的time模块,通过记录循环开始前后的时间差来计算循环的执行时间。例如,调用time.time()记录开始时间和结束时间,两者相减即为运行时间。代码示例:
import time
start = time.time()
for i in range(100000):
pass
end = time.time()
print(f'运行时间为 {end - start} 秒')
time.time()的精度有限,如果想要更高精度的时间测量,Python中推荐哪种方法?
使用time.perf_counter实现高精度计时
time.perf_counter()提供了较高精度的计时器,适合用于性能测试和测量短时间代码执行时长。用法类似time.time(),它会返回一个高精度的浮点数时间戳,单位为秒。示例代码:
import time
start = time.perf_counter()
for i in range(100000):
pass
end = time.perf_counter()
print(f'循环耗时:{end - start} 秒')
有没有Python库或者工具能更简便地帮我统计循环或者代码块的运行时间?
使用timeit模块实现代码块运行时间测量
Python内置的timeit模块专门设计来测量小段代码的运行时间,支持多次重复执行获取平均耗时。它同样适用于循环性能测试。可以使用timeit.timeit函数,传入代码字符串和执行次数,实现更可靠的时间统计。示例:
import timeit
code = '''for i in range(10000): pass'''
runtime = timeit.timeit(stmt=code, number=100)
print(f'运行时间(100次循环平均):{runtime / 100} 秒')