python time.time()和time.perf_counter()在window、ubuntu和基于web的解释器中是不同的结果。是病毒感染吗? 导入时间 def比较_t_与_p(r): st_p=时间性能计数器() st_t=time.time() 对于范围(r)内的i: 通过 p=时间。性能计数器()-st\u p t=time.time()-st\u t 返回打印('性能计数器:%s\n时间:%s'(p,t))

python time.time()和time.perf_counter()在window、ubuntu和基于web的解释器中是不同的结果。是病毒感染吗? 导入时间 def比较_t_与_p(r): st_p=时间性能计数器() st_t=time.time() 对于范围(r)内的i: 通过 p=时间。性能计数器()-st\u p t=time.time()-st\u t 返回打印('性能计数器:%s\n时间:%s'(p,t)),python,Python,窗口10中的结果: >>比较\u t\u和\u p(10) 性能计数器:1.7000000021027972e-06 时间:0.0 >>>比较\u t\u与\u p(1000) 性能计数器:1.70999393774873E-05 时间:0.0 >>>比较_t_与_p(100) 性能计数器:2.3999969249244E-06 时间:0.0 >>>比较\u t\u与\u p(10000) 性能计数器:0.0001747999999636675 时间:0.0 >>>比较\u t\u与\u p(1

窗口10中的结果:

>>比较\u t\u和\u p(10)
性能计数器:1.7000000021027972e-06
时间:0.0
>>>比较\u t\u与\u p(1000)
性能计数器:1.70999393774873E-05
时间:0.0
>>>比较_t_与_p(100)
性能计数器:2.3999969249244E-06
时间:0.0
>>>比较\u t\u与\u p(10000)
性能计数器:0.0001747999999636675
时间:0.0
>>>比较\u t\u与\u p(100000)
性能计数器:0.0017023999992157
时间:0.0020096302032470703
但是在Ubuntu中:

>>比较\u t\u和\u p(10)
性能计数器:5.400000006261507e-06
时间:5.4836273193359375e-06
>>>比较\u t\u与\u p(10000000)
性能计数器:0.1542809000000338
时间:0.1542835595703
>>>比较\u t\u与\u p(10000000)
性能计数器:0.1524698999983
时间:0.15247201919555664
>>>比较_t_与_p(10)
性能计数器:7.50000000948603e-06
时间:7.3909759521484375e-06
>>>比较_t_与_p(100)
性能计数器:2.5300000004335743e-05
时间:2.5510787963867188e-05
>>>比较\u t\u与\u p(1000)
性能计数器:3.3300000012559394e-05
时间:3.337860107421875e-05

造成这种差异的原因是什么?

不同的是,
time.time()
检索当前系统时间,无论该时间在系统中的跟踪精度如何,而
time.perf_counter()
只获取系统上具有最佳可用分辨率的计时器的值

这就是为什么在我的windows 10 PC上,windows下限值仅为0-时间()的分辨率仅为5毫秒左右,因此无法获得性能测试所需的精确结果。这也解释了为什么它在不同的操作系统之间有所不同