Python 我的计时器似乎很响-我该怎么修/我做错了什么?
这段代码是系统上的一个简单基准测试。(我知道即使我修正了它也没有用,这是一个练习)结果是从0到9加上一百万个随机数需要多长时间,而且由于某种原因计时器似乎完全关闭了,我是否遗漏了什么 下面是一些结果Python 我的计时器似乎很响-我该怎么修/我做错了什么?,python,Python,这段代码是系统上的一个简单基准测试。(我知道即使我修正了它也没有用,这是一个练习)结果是从0到9加上一百万个随机数需要多长时间,而且由于某种原因计时器似乎完全关闭了,我是否遗漏了什么 下面是一些结果 import math import random import time stress_base = 3 stress_report = 0 i = 0 while True: start = time.time() a = random.randrange(0,9)
import math
import random
import time
stress_base = 3
stress_report = 0
i = 0
while True:
start = time.time()
a = random.randrange(0,9)
stress_base = stress_base + a
stress_report = stress_report + 1
if stress_report % 10000000 == 0:
time.sleep(.0001)
end = time.time()
print((end - start) -.0001,'=',i)
i = i + 1
每一次之间的时间大约为半秒。当我增加方程式的数量时,这些次数不会增加。您的
start
变量应该在循环之外,因为当前的值是添加最后一个随机数,而不是添加所有随机数。此外,您的模被设置为检查10000000,而它应该是1000000。纠正这一点,可变性在1.3-1.6秒之间。我还更改了I
的值,以表示已添加了多少百万个数字。代码如下:
0.0018946098327636718 = 0
0.0018938945770263671 = 1
0.002891914749145508 = 2
0.0018953250885009765 = 3
0.0018936561584472656 = 4
0.0018948482513427734 = 5
0.012865679168701172 = 6
0.0008999275207519531 = 7
0.001895086669921875 = 8
0.0018958019256591796 = 9
以下是输出的一部分:
import math
import random
import time
stress_base = 3
stress_report = 0
i = 1
while True:
start = time.time()
while True:
a = random.randrange(0,9)
stress_base = stress_base + a
stress_report = stress_report + 1
if stress_report % 1000000 == 0:
time.sleep(.0001)
break
end = time.time()
print((end - start) -.0001,'=',i)
i = i + 1
试着把
start=time.time()
放在while循环之外,你的mod操作符是1000万而不是100万hi!完全忘了我做了这个,你的版本运行得很好,在我的系统上,在50%的cpu使用率下,它的最大值约为1.12秒,可能会生成一个实际的版本,它确实做了一些事情,并且实际利用了gpu。谢谢你所做的一切:)
1.6038764881134033 = 1
1.5193711685180664 = 2
1.4884077476501465 = 3
1.4721638130187988 = 4
1.5818635391235352 = 5
1.4038864540100098 = 6
1.4031793045043945 = 7
1.3717972206115723 = 8
1.472563164138794 = 9