如何将Matlab的Run and Time耗时分析结果导出为CSV文件?
Matlab「Run and Time」性能数据导出方法
「Run and Time」是Matlab Profiler的GUI入口,所有显示的运行时长数据都可以直接导出为结构化文件,不需要手动抄录,具体可行方案如下:
- 方案1:命令行调用Profiler直接导出(最稳定,推荐)
GUI的「Run and Time」本质是封装了profile系列命令,直接用命令行跑性能统计可以直接拿到全量原始数据,导出步骤:- 命令行执行
profile on开启性能采集 - 正常运行你需要测试的脚本或函数
- 代码运行完成后执行
profile_res = profile('info'),所有函数的调用次数、自耗时、总耗时、调用层级关系都会存在这个结构体中,字段比GUI窗口展示的更全 - 提取需要的字段转为表格,直接导出CSV即可,示例代码:
导出的CSV可以直接在Jupyter Notebook中读取做后续可视化。% 将函数性能统计结果转为表结构 func_res = struct2table(profile_res.FunctionTable); % 筛选需要导出的核心字段 export_data = func_res(:, ["FunctionName", "TotalTime", "SelfTime", "NumCalls"]); % 写入CSV文件 writetable(export_data, 'matlab_perf_result.csv') - 命令行执行
- 方案2:从已打开的Profiler GUI窗口直接导出
如果你已经通过「Run and Time」跑完了性能统计,不想重跑代码:
直接点击Profiler窗口顶部工具栏的Export按钮,选择Export to Workspace即可把全量性能数据导入Matlab工作区,后续转表格导出CSV的操作和方案1完全一致。 - 替代方案:适配可视化的性能采集方式
如果需要做多轮性能对比、火焰图等更灵活的可视化,可以直接使用timeit函数做单函数精准计时,或者输出通用的性能采样数据格式,省去GUI导出的步骤。
内容的提问来源于stack exchange,提问作者Janska
相关产品推荐
相关产品推荐

