每次在for循环中调用函数时,它似乎运行得更快

每次在for循环中调用函数时,它似乎运行得更快,第1张

每次在for循环中调用函数时,它似乎运行得更快

此问题与OS /硬件向CPU分配资源有关,与CPU分支预测无关。在Windows 7上,同时运行另一个脚本可以做到:

for x in range(10):    a = sum(xrange(10**8))

将大大加速该问题脚本的执行;

for p inrange(10):
与PC处于空闲状态相比,每次迭代只需花费25%的时间即可运行。在每个循环中,运行时也将保持一致。

在Windows 7中
,可以通过按照此链接中的
“设置电源配置文件”完全解决此问题。本质上,将“电源配置文件”更改为“高性能”。

我不清楚为什么要

sum(xrange(10**8))
大幅度加速资源释放,而100,000个迭代爬坡(超过10个迭代)却没有达到成熟度,即使运行时类似并且爬坡更为复杂。滴水速度非常慢。

除了在Windows 7 中设置为“ 高性能”
之外,似乎不可能对算法进行基准测试,除非您停止Windows限制CPU的运行,否则在无限循环中运行此处的hill-
climb脚本将在整个迭代中显示相同的特征。每次调用脚本时,CPU资源似乎都会重置。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5643245.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存