0

OProfile 在平面报告中给出的样本,是函数本身的样本,还是函数本身的样本加上它调用的函数的样本?我试图查看文档、教程,但找不到具体的答案。我的感觉是它是自我的样本,更准确地说,是 CPU 为函数体执行指令而不是在它调用的函数中执行指令时的样本数。

4

1 回答 1

0

从文档中很难判断,但是如果您打开了堆栈采样,似乎说堆栈上的每个返回地址都被视为程序计数器样本。如果它这样做,那么时间将包括在内,只要它正确处理递归。

为了正确处理递归,如果一个函数在一个样本上出现多次,它应该只计算一次。

此外,我无法从文档中判断样本是否在 I/O 或睡眠期间暂停,它们不应该如此,除非你想对这些视而不见。

于 2014-01-08T18:18:21.717 回答