5

我是 Shark 的新手,我想知道是否可以将时间样本缩小到一种特定的方法?

假设我想,只是为了它,知道在调用所有 NSArray(或子类)实例的方法“count”时使用了多少资源。

4

3 回答 3

2

如果您自下而上查看时间曲线图,并将在库中花费的任何 time-count 费用计入其调用者,那应该会给您想要的。它可以让您查看由于 -count 所花费的时间(即执行该方法以及该方法完成其工作所需的任何时间),还可以让您找出调用该方法的位置。你花这么多时间在 -count 上的原因可能不是因为它需要很长时间,而是因为你这样做太频繁了。

于 2008-11-29T20:22:33.783 回答
1

至少在功能级别上花费的时间正是 Instruments 为您提供的。使用 DTrace,您甚至可以更深入地挖掘。也许查看我的博客文章。这应该有望解决问题。

例如,您可以轻松编写一个 DTrace 脚本来打印计数调用的内存消耗。

干杯,托斯滕

于 2008-12-01T16:35:19.827 回答
1

您可以按 cmd-f 搜索符号。确保“自动展开”复选框已打开,以便它进入树中。您可能需要打开窗口 -> 显示高级设置。

找到符号后,右键单击它,您有一些选项:

  • 焦点符号:这将让您过滤到仅对您选择的符号和以下符号的调用

  • Retain Callstacks with:这将让您看到对符号的所有调用并过滤掉其他所有内容

完成后,您可以右键单击并“全部取消焦点”或“全部恢复”。这些命令最终会修改高级设置中的“调用堆栈数据挖掘”部分。胡闹。

于 2010-05-16T18:10:57.443 回答