0
我希望看到函数及其所有后代使用perf报表所花费的时间比例。也就是说,假如我有类似在perf图中显示累计周期
void foo()
{
biz(); // 3,300 cycles
baz(); // 3,300 cycles
// ... 100 cycles
}
int main()
{
foo();
bar(); // 3,300 cycles
return 0;
}
和功能bar
,baz
和biz
了每3300个周期,foo
本身只用了100次,那么我想看到这样一个图:
main 100%
|
+--- foo 67.0% (1.0%)
| |
| +--- biz 33.0%
| +--- baz 33.0%
|
+--- bar 33.0%
这是如何产生像上面这样的图形?所有'--stdio'都会转储调用堆栈。 – JRG 2014-10-28 16:57:27
你是对的,我很抱歉,我玩过报告选项,但它似乎perf不能显示这种累积递减callgraph。它首先集中于符号排序,然后为每个符号提供调用链。 – amigadev 2014-11-04 09:11:28
你应该看看:http://www.rotateright.com/zoom/ 他们提到在缩放3.3.2(最新版本)发行说明,他们已经删除的许可限制(移动到一个免费的软件产品)。 – amigadev 2014-11-04 09:25:59