python time perf_python – 了解time.perf_counter()和time.process_time()

在这种情况下,“时间”有两种不同的类型:绝对时间和相对时间.

绝对时间是’真实世界时间’,由time.time()返回,我们都习惯于处理它.它通常是从过去的固定时间点(例如1970年1月1日的00:00:00 UTC的UNIX时期)以至少1秒的分辨率测量的.现代系统通常提供毫秒或微秒的分辨率.它由大多数计算机上的专用硬件维护,RTC(实时时钟)电路通常由电池供电,因此系统可以跟踪上电之间的实时时间.这个“真实世界时间”也可能会根据您的位置(时区)和季节(夏令时)进行修改,或者表示为与UTC的偏移(也称为GMT或Zulu时间).

其次,有相对时间,由time.perf_counter和time.process_time返回.这种类型的时间与现实世界时间没有明确的关系,因为这种关系是系统和实现特定的.它只能用于测量时间间隔,即无单位值,它与两个瞬间之间经过的时间成比例.这主要用于评估相对性能(例如,此版本的代码是否比该代码版本运行得更快).

在现代系统中,它使用CPU计数器进行测量,该CPU计数器以与CPU硬件时钟相关的频率单调增加.计数器分辨率高度依赖于系统的硬件,在大多数情况下,该值无法与现实世界时间可靠地相关,甚至在系统之间进行比较.此外,每次CPU上电或复位时,计数器值都会复位.

time.perf_counter返回计数器的绝对值. time.process_time是一个从CPU计数器派生的值,但仅在给定进程在CPU上运行时才更新,并且可以分解为“用户时间”,这是进程本身在CPU上运行的时间,和’系统时间’,即操作系统内核代表进程在CPU上运行的时间.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值