Callgrind - QCachegrind输出:" self"代表每次通话功能的成本?

时间:2017-08-21 20:57:33

标签: valgrind callgrind

我很困惑如何解释" Self" QCachegrind中的插槽。它是一个函数的每个调用成本,还是一个函数的总成本,当调用x次时,其中x由插槽表示"称为"?

(请参见下图)

enter image description here

调用一次时功能成本是0.003吗?或者我需要将其除以2("称为"插槽)以获得每次通话的功能成本?

2 个答案:

答案 0 :(得分:1)

我也在寻找这个答案,发现显示0.003的Self是所有“被叫”的费用。因此,从理论上讲,每个通话费用为0.003 / 2。尽管我认为这不是那么简单,因为对同一函数的不同调用可能会产生不同的开销。

答案 1 :(得分:0)

已包含是该行上函数的总成本,包括此函数直接或间接调用的所有函数的开销。 自我是功能本身的代价。

参见http://www.valgrind.org/docs/manual/cl-manual.html#cl-manual.use (特别是第6.1.1节。功能)了解更多细节。