NKN*_*NKN 18 performance matlab
在Matlab 2014b,当我CLEAR ALL在脚本的开头使用时,我得到以下警告,
For improved performance, consider not using CLEAR ALL within a script
Run Code Online (Sandbox Code Playgroud)
这在以前的版本中没有给出(我记得).
我发现的唯一原因是,当你从外面或者从其他脚本调用脚本你不想清除在工作区中的变量,并一次又一次地重新生成它们每次.
还有其他原因让我失踪吗?
CLEAR ALL使用单个脚本时,删除如何提高性能?
cha*_*pjc 16
在R2015b中,语义clear被改变了.也许是为了回应这个问题中提出的问题,发布说明中所述的变化是:
该
clear函数不再清除调试断点.要清除断点,请使用dbclear all.该
clear功能仅清除当前未运行的功能.例如,当您clear myFun在myFun运行时调用时,myFun不会清除.
该部分适用于R2015b之前的MATLAB版本.

R2015b的表格完全相同,只是不再有"调试断点"列,因为它们不再被清除clear.
当你可能只是clear variables(红色框)时,脚本和函数被清除.从当前正在执行的内存中清除函数没有多大意义.(根据R2015b发布说明,这不会发生.)
另外,请记住脚本在基本工作区中执行,您将清除其他脚本可能使用的所有函数.尝试查看inmem扩展的MATLAB修补会话后的输出.您填写找到各种功能的MATLAB被加载到内存中以便快速访问(包括'matlabrc','pathdef'及其他核心脚本设置您的工作空间).所以,也许并不是因为它会影响您调用的脚本的性能,clear all而是会影响基本工作区中的所有其他脚本和交互式命令行. 那是我的猜测.
与性能无关,但另一个原因clear all是脚本可能是一个坏主意,它将清除断点(这可能很烦人!),以及全局+持久变量.但是,可能是清除全局变量和持久变量的目标.对于全局有clear global,但由于持续的变量绑定到功能,你可以使用没有什么类似的持续性clear functions或clear whateverFunctionName他们.