我有一个python脚本,它基本上获取分钟级的电力负载数据,太阳能生产数据,并进行一些能量流分析。这是一个相当复杂的算法,涉及大量循环和巨大的DataFrame、矩阵和数组。当我在脚本上工作一段时间后,平均需要35秒才能执行。我的机器上所有的风扇都开始吹了。
但是假设我离开电脑3-4个小时后再回来,同样的代码需要120秒以上的时间才能执行。
为什么会这样?有没有办法避免这种情况?
任何帮助都将不胜感激。
发布于 2020-11-17 06:16:42
这是因为缓存的缘故。当您第一次从同一位置加载数据时,数据会存储在一个更容易访问的位置(缓存),因为您相信很快就会再次使用该数据。当您离开计算机时,该空间将被其他进程使用的其他数据填充。这是计算机构建和各种优化芯片设计者添加以使计算机(CPU)更快的基本部分。这种现象也被称为“冷运行”。
编辑:加载数据包括将实际代码段(堆、堆栈等)加载到内存中
https://stackoverflow.com/questions/64866463
复制相似问题