Я сравнил выходные данные Kcachegrind и callgrind_annotate из одного и того же файла callgrind и обнаружил, что для некоторых функций есть существенные различия.
Большинство циклов равны или похожи (разница <1%), нонекоторые просто не имеют смысла.Некоторые функции требуют примерно в десять раз больше циклов в Kcachegrind, в то время как другие также требуют примерно в десять раз больше в callgrind_annotate.Как происходит это различие и как мне его интерпретировать? </p>
Кроме того, что означают аннотации '2
для некоторых функций?
РЕДАКТИРОВАТЬ: все измерения проводились только на основе собственных затрат в качестве включающих затратоказались ненадежными, особенно при использовании рекурсии.