I'm profiling C++ code using callgrind and then visualizing it in kcachegrind.
For example, if my program is:
main() {
function1();
function2();
}
I would expect main() to have two edges, one to function1() and everything called by function1(), and one to function2() and everything called by function2().
What I instead get is main() has an edge to function1(), and function1() in turn has an edge to function2(). This just seems wrong to me, can someone elaborate on why this is?