Octave支持在每个函数级别上分析代码执行情况。如果启用了评测,则在运行Octavecode时会记录对函数的每次调用(支持内置函数、运算符、oct和mex文件中的函数、Octave代码中的用户定义函数和匿名函数)。之后,这些数据可以帮助分析代码行为,尤其有助于在代码中找到“热点”,这些“热点”占用了大量计算时间,是花费优化精力的最佳目标。
分析的主要命令是性能剖析
,可用于启动或停止探查器,也可用于随后查询收集的数据。数据以Octave数据结构返回,然后可以通过其他子程序或工具对其进行检查或进一步处理。
on
¶off
¶resume
¶clear
¶S =
profile ("status")
¶T =
profile ("info")
¶控制内置探查器。
上的配置文件
启动探查器。将清除以前收集的所有数据。
剖面关闭
停止分析。收集到的数据稍后可以用检索和检查T=配置文件(“信息”)
.
性能剖析清除
清除所有收集的探查器数据。
个人资料简历
在不清除旧数据的情况下重新启动分析。所有新收集的统计信息都会添加到现有的统计信息中。
S=配置文件(“状态”)
返回一个结构体,其中包含有关生产者当前状态的信息。目前,唯一的字段是探查器状态
哪一个on
或关
.
T=配置文件(“信息”)
返回结构体中收集的分析统计信息T。平面性能剖析在字段中返回函数表
它是一个结构体数组,每个条目对应于被调用的函数,并且存在其分析统计信息。此外,该field等级制的
包含层次调用树。每个节点都有一个索引到函数表
识别它对应的函数,以及在调用树中用于此级别的调用次数和时间的数据字段。
对收集的数据进行概述的一种简单方法是专业表演
。此函数获取从返回的探查器数据性能剖析
作为输入并打印平面性能剖析,例如:
函数属性时间调用-------------------------------------------->myfib R 2.195 13529二进制<=0.061 13529二进制-0.050 13528二进制+0.026 6764
这表明大部分运行时间都花在了执行函数上myfib,以及一些小部分评估列出的二进制运算符。此外,还显示了函数被调用的频率,探查器还记录了它是递归的。
(data)
¶(data, n)
¶()
¶(n)
¶显示每个函数的平面探查器结果。
打印出最关键的探查器数据(执行时间、调用次数)n函数。结果按在每个函数中花费的总时间降序排列。如果n未指定,默认为20。
输入数据返回的结构体是个人资料(“信息”)
如果未指定,专业表演
将使用当前配置文件数据集。
属性列显示R用于递归函数,对于所有其他函数类型为空。
(dir)
¶(dir, data)
¶(dir, name)
¶(dir, name, data)
¶将探查器数据导出为HTML。
将分析数据导出到数据转换为文件夹中的一系列HTML文件目录。初始文件将为数据/index.html.
如果name如果指定了,则它必须是一个包含要导出的配置文件的“名称”的字符串。此名称包含在HTML中。
输入数据返回的结构体是个人资料(“信息”)
如果未指定,专业出口
将使用当前配置文件数据集。
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号