我想在循环中加载大量的MAT文件。我正在测试不同的方法来加快文件的加载速度,我有一个10,000个文件的子集,我正在使用它们,每个文件包含大约50个不同大小的变量。我注意到一个有趣的细节:
load(filename)
加载10,000个文件,则大约需要5分钟。load(filename, 'varname')
从每个文件加载一个变量,则需要大约相同的时间。我很困惑。一旦从一个文件加载数据,Matlab会以某种方式将数据保存在内存中吗?然而,这种现象在Matlab重新启动和clear
命令中仍然存在,那么它实际上是Windows 7是否保留了某些数据的内存缓存?
毋庸置疑,我想确定是什么导致了意外的改进,如果可能的话,重现它以使第一次加载与后续加载一样快。