MATLAB社区

MATLAB,社区等

用分析加速你的gui

我敢打赌大多数使用MATLAB分析器的人都是通过分析器UI顶部的“运行此代码”框来运行他们的代码的。当您这样做时,只对该函数调用进行分析,并且立即返回数据。这对于测试脚本或函数很好,但是当您为GUI函数执行此操作时,您将只分析GUI的设置。除非加载它需要很长时间,否则这通常不如分析与GUI关联的回调有用。

为了分析GUI的回调,你需要在执行有趣的工作之前从命令行启动Profiler,使用命令:

配置文件

一旦分析器开始运行,您就可以与GUI交互以运行它的回调。然后,当你准备停止分析并查看结果时,执行命令:

配置文件查看器

在下面的例子中,我使用GUIDE的“带轴和菜单的GUI”模板创建了一个新的GUI。

图形用户界面与轴和菜单

然后我从Desktop -> Profiler菜单中打开分析器。你可以看到当我运行"profile_gui函数,在设置GUI时所涉及的所有函数调用都会被列出。特别是在顶部是GUIDE的辅助函数gui_mainfcn我的函数profile_gui

只是GUI创建的分析器

整个过程大约花了1/4秒,所以可能不值得优化。相反,让我们看看当“Update”按钮的回调运行时会发生什么。为此,我输入了"剖面上然后启动GUI。然后我按了几下按钮,接着是一声“概要文件查看器从这个角度我们可以看到profile_gui而且gui_mainfcn同样,也是我的pushbutton1_Callback一些通过回调调用的函数。根据“Calls”一栏,你可以看到我按了7次按钮。有趣的是,您可以看到main函数被调用了12次。这是因为GUIDE GUI为其各种回调和设置例程回调自身。

回调后的配置文件结果

从顶部的分析器页面,我们可以进入回调函数本身。从时间折线图中,我们可以看出,即使它叫酒吧只有一次,它是运行时间最长的命令。第二长的命令是冲浪但从电话栏,你可以看到我运行了四次。

回调后的配置文件结果

在Profiler屏幕的底部,通过按时间或调用次数查看代码,我们可以查看覆盖在代码顶部的相同信息。第一个屏幕截图是按相对时间量突出显示的代码,第二个屏幕截图是按调用的相对数量突出显示的代码。

按时间划分的概要结果
按调用次数分析结果

如果我的代码需要更长的时间,我将使用这些信息来提高它的性能。比如,如果结果是那样酒吧调用了很多次,我可能会缓存结果(因为数据不会改变)。

|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。