|
From: Harold N. <ha...@al...> - 2005-10-08 18:55:51
|
Congratulations on callgrind. A very nice piece of work.
Really useful and attractive presentation.
One question. It seems to me that if you have source such as this:
main(){
work()
a =3D b + c;
}
work(){
c =3D d*e;
d =3D e * e;
}
Callgrind gives a profile that looks like this:
main()
75% work();
25% a =3D b+c;
}
and the function work() isn't even listed. How do I know what percentage of
work was done by the lines in work() if it isn't listed?
The numbers are only approximate, of course, but that seems to be the
situation. The stats for the call to work() are given,
but not the individual lines in work().
Could it be my compilation options were too aggressive, and the compiler
inlined the function work()?
|
|
From: Josef W. <Jos...@gm...> - 2005-10-08 23:15:54
|
On Saturday 08 October 2005 20:55, Harold Naparst wrote: > ... > and the function work() isn't even listed. That is strange. Can you send me the callgrind.out file? > How do I know what percentage of > work was done by the lines in work() if it isn't listed? Even if debug info for work() would be missing, the function should be listed. Seems to be a bug. > Could it be my compilation options were too aggressive, and the compiler > inlined the function work()? If the function would have been inlined, you would not see the call, as there is no call: the code of work would be part of function main. I.e. you should see the lines of work() in the source annotation of function main. Josef |