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. Это имеет смысл. Извините за шум.

Другие вопросы по тегам