Python 我的计时器似乎很响-我该怎么修/我做错了什么?

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)

这段代码是系统上的一个简单基准测试。(我知道即使我修正了它也没有用,这是一个练习)结果是从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