gpt4 book ai didi

iphone - 在启用优化的情况下使用 XCode Instruments Time Profiler

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:20 28 4
gpt4 key购买 nike

我正在用 C++ 进行一些数字运算,并且在我的调试构建中使用 -Os 优化时,我发现 CPU % 使用率有很大差异。因此,我想在启用优化的情况下分析我的代码,这样我就不会浪费时间优化编译器已经优化好的代码。

当我尝试使用 -Os 优化进行分析时,我无法让 Instruments 对我的代码进行符号化(即使我手动指定了我的 .dSYM 文件的位置).它甚至不会显示未模板化或内联的顶级 C++ 成员函数。

当我指定默认的 -O0 优化级别时,我可以让它很好地符号化。

那么,是否有可能在启用优化的情况下进行分析?如果是这样,那么让它发挥作用的诀窍是什么?

我正在使用 XCode 4.3.3。

最佳答案

Time Profiler 在使用 -Os 时确实进行了符号化。优化器做得非常好,以至于我的 C++ DSP 代码被内联并加速到分析器无法在我让它运行的短时间内对其进行采样的程度。我在调用树中只能看到系统调用。

当我尝试更长时间地运行探查器时,探查器捕获了我的 DSP 代码的一些信号。它只显示了一些 NSOperationQueue 处理程序调用的我的顶级 DSP 函数。下面的其余部分似乎都是内联的。

当我使用 -O2 编译时,我得到了更多有用的结果。我的更多 DSP 子例程保持原样(而不是内联),因此我能够更好地判断我的 DSP 算法将时间花在哪里。但这一切都没有实际意义,因为现在我可以看到该应用程序在管理系统调用上花费的时间比在我的 DSP 代码上花费的时间要多得多。

关于iphone - 在启用优化的情况下使用 XCode Instruments Time Profiler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11217554/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com