gpt4 book ai didi

python - 为什么同一解决方案的逐位算法的运行时间不同

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:13:43 25 4
gpt4 key购买 nike

出于好奇,我运行了一个简单的逐位算法来找到相同值的平方根 20 次(叹息我知道......)

我在所有 20 次运行中得到了相同的结果,但所有执行的运行时间不同。这是预期的观察结果还是我对计时器的编码不当?

def tester(orange):   
import timeit
x = orange
step = 1
guess = 0
epsilon = 0.0000000001
start = timeit.default_timer()


while guess ** 2 < x:
guess += step
if guess ** 2 > x:
guess -= step
if step > epsilon:
step = step / 10
else:
break

print("The square root of", x, "is", guess)

stop = timeit.default_timer()

print('Time: ', stop - start)

number = int(input("Enter the number of times that you want to run this test: "))
answer = float(input("Enter a number to find the square root for: "))
while number > 0:
tester(answer)
number -= 1

最佳答案

timeit.default_timer() 测量挂钟时间而不是 CPU 时间。因此,在您的计算机上运行的其他进程(包括后台进程)将影响其时间。如果您运行您的代码大约 100 次并打开 chrome 并在它运行时弄乱它,您可以看到它的实际效果。您会看到时间略有增加,因为 chrome 使用了您 cpu 时间的一小部分。

要更准确地估计您的代码,请使用 timeit.timeit

更多here

关于python - 为什么同一解决方案的逐位算法的运行时间不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53424169/

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