为什么Python程序运行的次数越多,速度越快?

时间:2019-06-16 04:20:02

标签: python

这不是问题,我很好奇。在Atom中,运行了许多测试后,我意识到我创建的每个python程序运行的次数越多,运行速度就越快(它们在运行几次后确实达到了一定的平衡),我只是想知道为什么会发生这种情况。程序不是很大(不超过100行),所以我最好的猜测是时间的​​变化可以通过变量的初始构造和常规设置来解释,但我不确定。

有关背景信息,我得到时间的方式是使用rgbkrk的“脚本”程序包,该程序包处理输出并记录时间。我认为代码是无关紧要的,因为有许多不同类型的测试都产生相同的结果,因此这里只是一些示例时间:

完成0.641秒 在0.257秒内完成 在0.06秒内完成 在0.049秒内完成 在0.049秒内完成 在0.058秒内完成

我不确定为什么会发生这种情况,因此进行解释会有所帮助。谢谢。

编辑:不需要代码,即使没有任何代码,同样的事情也会发生。我打开Atom并运行了一个空文件几次,同样的事情发生了(第一次运行后运行时间变快了。)

1 个答案:

答案 0 :(得分:0)

一个惊人的表观性能可以追溯到您所运行的特定操作系统如何决定如何从内存中(相对较慢的)磁盘缓存块。首次运行时,不会缓存任何内容。在后续运行中,根据过渡期间对操作系统磁盘高速缓存的争用,将缓存更多内容。当您再次运行时,不必做磁盘就是一项巨大的性能提升。

您可能会发现,如果您稍等片刻,然后运行一些其他磁盘占用量大的程序,则下次运行python代码的速度会变慢。