生成编译后的C代码函数,包括日志记录工具
你不能仪器MATLAB函数提供的软件。如果您的顶级函数是这样一个MATLAB函数,则不会记录任何内容。您也不能检测脚本。
每次调用测试的MEX函数时,都会累积测试结果。使用clearInstrumentationResults
清除日志中先前的结果。
有些编码模式传递大量数据,但只使用其中的一小部分。在这种情况下,您可能会在使用时看到性能下降buildInstrumentedMex
.在以下模式中,subfun
只使用输入数组的一个元素,一个
.对于正常执行,执行的时间量subfun
一次是不变的,无论大小一个
.这个函数汀
调用subfun
N
时间,因此总执行时间汀
成正比N
.然而,当被仪器化时,执行时间subfun
一旦成正比N
^ 2。之所以会发生这种变化,是因为最小和最大数据是在整个数组中计算的。当一个
时,计算可能导致显著的性能下降。因此,只要可能,您应该只传递函数实际需要的数据。
函数A = topfun(A) N = numel(A);for i=1:N A(i) = subfun(A,i);函数b = subfun(A,i);end函数A = topfun(A) N = numel(A);for i=1:N A(i) = subfun(A(i));函数b = subfun(a) b = 0.5 * a;结束
clearInstrumentationResults
|fiaccel
|墨西哥人
|NumericTypeScope
|showInstrumentationResults
|codegen
(MATLAB编码器)