此问题与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资源似乎都会重置。



