【问题标题】:Is time.process_time() a better measure for performance than time.time()?time.process_time() 是否比 time.time() 更好地衡量性能?
【发布时间】:2021-02-04 06:56:16
【问题描述】:
我对 python(和一般的 CS)相当陌生,我一直在阅读一些关于 python 中“时间”库的文档。有很多时间测量方法,我正在尝试找到最合适的方法来比较算法的两个版本的性能。
我知道 time.time() 是挂墙时间,而 time.process_time() 是用户 cpu 时间或系统 cpu 时间(我不太确定),但这两者中的哪一个是更好(更准确)的绩效衡量标准?
谢谢!!!
【问题讨论】:
标签:
python
python-3.x
performance
time
【解决方案1】:
我建议您使用time.perf_counter(),因为它是此类任务的推荐功能(它会自动选择可用精度最高的方法)。
它返回一个浮点数,它本身没有任何意义(与time.time() 的结果不同),但计算两个time.perf_counter() 测量值之间的差异可以告诉您经过了多少时间。
欲了解更多信息,请阅读time.perf_counter()'s docs。