|
From: Andreas <li...@hi...> - 2009-10-28 18:18:27
|
Hi there, I'm using callgrind to profile an application which is using the GSL library. I run valgrind using $ valgrind --tool=callgrind ./getStrat_single and inspect the resulting callgrind.out.PID file with kcachegrind. In the output I can see that 24% time is taken by the function gsl_interp_eval(). For this function I can see exactly one callee, which is named 0x000000000009ef80. Now I searched a bit in the GSL sources and found that inside gsl_interp_eval(), the following happens: int status = interp->type->eval (interp->state, xa, ya, interp->size, x, a, &y); This eval() points to the function cspline_eval(). Inside cspline_eval(), there is one call to another function gsl_interp_accel_find() as well as a call to coeff_calc(), an inline function. Now I would be really interested in knowing how the 24% of time that gsl_interp_eval() takes is distributed between coeff_calc(), gsl_interp_accel_calc() and the non-funtion-call-code inside cspline_eval(). So my question is: How can I get callgrind to give me this information? Thanks a lot for your help! Andreas. |