及时评估 matlab 代码特定部分的性能?

Posted

技术标签:

【中文标题】及时评估 matlab 代码特定部分的性能?【英文标题】:Evaluating the performance in time of a specific portion of the matlab code? 【发布时间】:2012-11-10 16:23:35 【问题描述】:

我希望能够衡量我的代码的性能并找到缺少的部分。在Matlab中这样做的正确方法是什么?我知道我可以只使用 tic: 和 toc;功能可以查看时间流逝,但可能有更方便的方法。

【问题讨论】:

【参考方案1】:

最方便的方法是使用 GUI 分析器工具。您可以在下拉菜单中找到它(Desktop->Profiler),或者您可以通过键入profile viewer 从命令行启动它。然后在窗口顶部输入函数的名称,点击“运行”,然后等待代码运行完毕。单击链接将带您进入相应的功能,您可以在其中逐行查看运行时。

请注意,运行速度非常快且仅进行少量迭代的计时代码可能会很棘手;对于这些情况,您可能需要使用 Matlab 文件交换中的 timeit 函数。

【讨论】:

【参考方案2】:

The profile tool 报告每个函数和程序中每一行代码所花费的时间。

实现需要更长的时间,所以如果您正在分析一小段代码,tic-toc 会更好地完成这项工作。

【讨论】:

以上是关于及时评估 matlab 代码特定部分的性能?的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB实现网络相关的仿真(附上完整仿真源码)

性能测试第一章

最优孤岛划分下含分布式电源配电网可靠性评估(Matlab代码实现)

用于在Matlab中循环到矢量形成的性能

性能测试之稳定性测试

Matlab中评估函数内的控制流