Callgrind Профиль Формат включительно / самостоятельная стоимость
Я пытаюсь понять формат профиля Callgrind. Я нашел онлайн описание
Я думал, что понял это довольно хорошо, пока не столкнулся с "Расширенным примером":
events: Instructions
fl=file1.c
fn=main
16 20
cfn=func1
calls=1 50
16 400
cfl=file2.c
cfn=func2
calls=3 20
16 400
fn=func1
51 100
cfl=file2.c
cfn=func2
calls=2 20
51 300
fl=file2.c
fn=func2
20 700
Описание гласит: видно, что в "главном" выполняется только код из строки 16, где также вызываются другие функции. Включенная стоимость "основного" составляет 420, что составляет сумму собственных расходов 20 и затрат, затраченных на звонки.
Как может полная стоимость "main" быть 420, если себестоимость только func2 уже равна 700?
1 ответ
Хорошо, описание неверно: когда я вставляю этот пример и открываю его в kcachegrind, на самом деле он показывает общую стоимость 820. Это имеет смысл. Извините за шум.