gpt4 book ai didi

python - 为什么 pypy 的 clock() 如此不精确?

转载 作者:行者123 更新时间:2023-11-28 17:38:26 24 4
gpt4 key购买 nike

我尝试对我的一些代码进行计时,并注意到 pypy 的一些非常奇怪的结果。看这个例子:

from time import clock
from random import randint

times = []
for _ in range(10):
start = clock()
sum(i * i for i in range(randint(1000000, 2000000))) # waste time
end = clock()
times.append(int((end - start) * 1000000))

for t in times:
print(t, "µs")

python3 运行,如预期的那样有一堆随机结果:

506246 µs
461735 µs
403287 µs
472049 µs
651156 µs
609496 µs
467181 µs
633187 µs
562603 µs
744360 µs

用pypy跑起来,好像一切都只精确到三分之一秒:

43332 µs
36667 µs
30000 µs
23332 µs
19999 µs
23334 µs
26665 µs
20000 µs
36667 µs
26666 µs

这是为什么?

最佳答案

Mark的回答理论上是正确的,但确实是个bug。请在 PyPy 的问题跟踪器上打开一个错误,准确指定您正在使用的平台和 PyPy 版本(我似乎在 Linux 上得到了正确的精确度,而在 Windows 上得到了 John)。

关于python - 为什么 pypy 的 clock() 如此不精确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27829225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com