我注意到如果我长时间处于调试模式(例如3小时),MATLAB(Windows 7上的R2011b,64位)往往会减慢速度.我不记得在先前版本的MATLAB上发生了这种情况.
减速很小,但足以影响我的工作效率(有时MATLAB需要等待最多1秒才能输入命令行或编辑器).
我通常在调试模式上花费数小时(例如,在键盘声明停止后)在此模式下编写完整项目.我发现在调试模式上工作方便有机地增长我的代码,同时在执行时间检查我的代码.
奇怪的是我的机器有16 GB的RAM和所有工作空间的总大小,而在调试模式下通常小于4 GB.我没有在后台运行任何其他大型进程,我的系统报告~8GB的可用RAM.
另外,遗憾的是MATLAB不允许我pack从调试模式调用; 它抱怨:
Warning: PACK can only be used from the MATLAB command line.
Run Code Online (Sandbox Code Playgroud)
重新启动MATLAB,重新启动系统以及在不同的日子里,我重现了这种行为.有了这个,我的问题是:
如果它很重要,我的代码在网络驱动器上,所以我在我的startup.m文件中添加了以下内容,这可以减轻由此产生的对性能的任何影响:
system_dependent('RemoteCWDPolicy', 'None');
system_dependent('RemotePathPolicy', 'None');
system_dependent('DirChangeHandleWarn','Never');
Run Code Online (Sandbox Code Playgroud)
我经历过一些类似的问题。问题最终是 Mathworks 改变了 Matlab 缓存文件的方式。对于某些用户来说,它现在将数据存储在环境变量定义的 TMP 文件夹中。该文件夹正在被防病毒软件扫描并导致很多性能问题。当然,IT 不会让我们从扫描中排除 TMP 文件夹。因此,我们在启动脚本中添加了一行,将 TMP 的环境变量更改为排除文件夹中的其他位置。
您不必担心将变量改回或弄乱其他程序。当应用程序启动时,它们将环境变量复制到它们自己的本地实例中。对它们所做的任何更改只会更改这些变量的本地副本,而不是系统副本。
这是您需要的功能。
setenv('TEMP', 'C:\TEMP');
我不确定是 TMP 还是 TEMP。检查您的环境变量以确定。