我正在尝试使用仪器分析在设备上运行的一些信号处理代码。代码是用C ++编写的。下面是输出ater分析几秒钟。 。 。
很明显,对powf的调用占用了大部分的CPU时间,但是,我找不到如何确定哪些对powf的调用是我代码中最大的违规者。我发誓,当我以前使用鲨鱼时,很容易获得源中呼叫的行号。我从仪器中得到的只是机器码无意义。
扩展powf
三角形给出以下内容。 。 。 。
答案 0 :(得分:1)
包含对powf
的调用的代码似乎是您要传递给CoreAudio的回调函数的一部分。 Instruments似乎无法象征回调的调用链,因此您只是在代码中看到原始地址。 可能可以使用合适的工具(例如otool
或类似工具)来识别这些地址,但从长远来看,更好的策略是实现一个调用回调的测试工具带有伪数据的循环中的代码 - 当您将其用于将来的调试和分析活动时,这很可能会自行回报。请注意,为方便起见,您可以将测试工具构建为用于分析/调试的Mac OS X可执行文件,因为错误和性能瓶颈很可能在两个平台上都相似,至少是第一次近似。