我正在尝试使用Instruments分析我的iPhone应用中的性能问题。我在调试模式下编译并安装了我的应用程序,创建了一个“Time Profiler”并成功记录了有关时间间隔的一些数据,但我还没弄清楚如何分析我正在录制的数据。
我理解探查器通常如何工作,我对Rational Quantify有相当多的经验,但在这种情况下我很难过。
我希望看到的内容:我编写的哪些功能是指定时间段内的CPU性能瓶颈?
我看到的内容:很多看似无意义的噪音显然与我自己的应用程序代码无关:http://screencast.com/t/3gYOuwua3
我尝试了各种过滤器,但没有人真的有所帮助。我该怎么办?
谢谢,
阿德里安
答案 0 :(得分:0)
这很常见......
首先,“自我”时间在任何真实软件中都几乎无用。 它所做的一切就是让你看看它然后去“gack!”。
如果你碰巧在一个时间点冻结它,你会看到一个深层的调用堆栈,并且在堆栈的顶端它将是
很少在您可以控制的代码中找到程序计数器。 因此,即使你确实在你的代码中找到了超过百分之几的自我时间,修复它也无法想象得多。
另一方面,堆栈上的其他代码行怎么样? 如果你冻结它10次,并且在其中的5次中,特定的代码行在堆栈中,你知道那行,如果你可以避免执行它,将节省50%,大致
我不寻找“慢功能”或“热点”。 我使用的技术是this,并且有一个lot more reasons why。