在MATLAB中存在(x,'file')需要永远

Sha*_*hai 13 file-io matlab path file-exists

exist(x, 'file')用来检查我的机器上是否存在文件.执行此命令需要FOREVER(每次调用超过10秒!).

matlabpath不是太长(大约200个条目),路径上的所有文件夹都在我的本地驱动器上(没有网络).

  1. 为什么要exist永远?
  2. 有没有办法让它跑得更快?

PS,
这个调用exist是Matlab执行的一部分loadlibrary.所以,如果你打电话loadlibrary而且你不知道为什么需要永远 - 这个问题也适合你.

And*_*nke 21

这是一个想法.您可以将包含这些头文件的目录放在MATLAB路径的前面,因此当exist()查看路径时,它会快速找到它们,而不必搜索其余条目.如果它花时间踏上你的道路,那可能会有所帮助.

  • 来自http://meta.stackexchange.com/questions/179409/how-can-i-award-a-user-with-reputation-apart-from-trivial-upvoting-accept的另一个+1. (6认同)

Sha*_*hai 17

哇!那是一个艰难的过程.底线:删除%TEMP%文件!

我在%TEMP%中有几千个文件.看来MATLAB真的很喜欢遍历TEMP目录.

清除TEMP文件夹后,立即exist运行!

(感谢Andrew对Process Monitor的建议!)