time.perf_counter() 是 Python 中的一个函数,它属于 time 模块。它用于测量代码的执行时间,提供了一个高分辨率的性能计数器,通常用于基准测试、性能分析和时间测量。
以下是关于 time.perf_counter() 的一些关键点:
高分辨率:time.perf_counter() 提供了一个高分辨率的计时器,这意味着它可以测量非常短的时间间隔,而不会产生显著的误差。
不受系统时间变化的影响:如果系统时间被更改(例如,用户手动设置或NTP同步),time.perf_counter() 的计数不会受到影响。这与其他时间函数(如 time.time())不同,后者返回的是从1970年1月1日以来的秒数,可能会受到系统时间更改的影响。
不保证单调递增:尽管 time.perf_counter() 的设计初衷是为了提供一个单调递增的计时器,但在某些平台上,它可能会因为各种原因(如系统休眠、电源管理事件等)而减少。因此,它不应该用于需要绝对单调递增的场合。
用途:time.perf_counter() 通常用于测量代码段的执行时间,以评估其性能。
import time start_time = time.perf_counter() # 执行一些代码
for i in range(1000000): pass end_time = time.perf_counter() execution_time = end_time - start_time
print(f"Code executed in {execution_time} seconds")
注意:对于需要测量长时间间隔或需要单调递增计时器的应用,您可能需要考虑使用 time.time() 或 time.monotonic(),后者始终是一个单调递增的计时器,但可能不如 time.perf_counter() 那么精确。