MAT文件第一次加载比后续加载慢

时间:2013-08-16 22:35:59

标签: matlab mat-file

我想在循环中加载大量的MAT文件。我正在测试不同的方法来加快文件的加载速度,我有一个10,000个文件的子集,我正在使用它们,每个文件包含大约50个不同大小的变量。我注意到一个有趣的细节:

  1. 如果我在一个接一个的循环中使用load(filename)加载10,000个文件,则大约需要5分钟。
  2. 如果我多次加载同一组文件(基本上重复测试),时间不会改变。
  3. 如果我使用load(filename, 'varname')从每个文件加载一个变量,则需要大约相同的时间。
  4. 如果我重复步骤3,则需要 15秒才能完成加载。相同的文件,正在加载相同的变量。
  5. 如果我现在运行步骤1并再次重复步骤3,我将重新回到负载大约5分钟。但是一旦我尝试第二次加载,它需要很短的时间。
  6. 我很困惑。一旦从一个文件加载数据,Matlab会以某种方式将数据保存在内存中吗?然而,这种现象在Matlab重新启动和clear命令中仍然存在,那么它实际上是Windows 7是否保留了某些数据的内存缓存?

    毋庸置疑,我想确定是什么导致了意外的改进,如果可能的话,重现它以使第一次加载与后续加载一样快。

0 个答案:

没有答案