perf report(版本2.6.35.7)现在支持-n标志,这正是我想要的。
你想知道对函数所做的更改是否有所不同。 我想你也想知道需要更改哪个函数,以及如何获得帮助。 这两个目标并不相同。
许多工具会给你尽可能广泛的统计数据或计数器,好像拥有更多的统计数据会有助于实现任一目标。
你能否获取RotateRight/Zoom或任何可以在用户控制下提供堆栈样本的工具?这样的工具将为您提供任何例程或代码行中花费的时间和百分比,特别是包含时间。
包含时间之所以如此重要,是因为执行的每一行代码都负责一定比例的时间,如果该行不存在,则不会花费该比例的时间,并且总体时间将减少该比例。在该时间的一小部分内,无论是在一个大块还是在成千上万个小块中度过,该代码行都在调用堆栈上,在那里堆栈采样将发现它,其速率等于其比例。这就是为什么堆栈采样在找到值得优化的代码方面如此有效,无论它是由叶指令还是调用树中的调用组成。
就个人而言,这个链接 阐述了我所使用的方法的原因和步骤,虽然不是很花哨,但比我见过的任何方法或工具都更加有效。这里有一个讨论。