|
From: Josef W. <Jos...@gm...> - 2006-03-01 20:26:44
|
On Wednesday 01 March 2006 15:31, Chris Jones wrote: > No, A::foo is a not an inlined function. Of course inline functions are > not seen. So, to clarify. A::foo is not inlined. Without -O2 (gcc) > "--dump-before=A::foo*" works fine. With -O2 it does not, but does work > if I change it to "--dump-before=*A*foo*" That sounds very strange, and like a bug. Can you check if the symbols change when compiled with vs. without -O2 ? If not, it would be nice if you would be able to generate small binaries which show the same effect, and send them in private to me. Perhaps there is really some bug here. > In this case though, I am using the option for another reason. > > I am actually trying to profile a very large program, which repeats the > same calculations many times. A::foo is the top level method, so by > doing this I get one dump per calculation. If I don't do this the > callgrind dump file is huge and kcachegrind needs massive amounts of > memory to view the file (almost 1G). Wow. But when the same calculation is iterated over and over, the amount of data should stay similar, as counts are incremented, but not getting more. The number of counts Callgrind dumps should be linear to the amount of executed code, and not time. Josef |