We are using g ++ 4.2.4, and I am trying to identify some performance issues in my code.
I run gprof to create a profile, and I get the following βweirdnessβ in that the most expensive function is __tcf_0:
Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls ms/call ms/call name 40.00 0.04 0.04 1 40.00 95.00 __tcf_0
This function then calls most of my user-defined functions (i.e. this is the one that is called from the main one). The closest explanation I found for this was here , but this link refers to static objects and atexit, and I don't think this applies in my case.
If this is useful, I use Boost (program_options and fusion) and the HDF5 libraries.
UPDATE:
The command I use when creating:
g++ -Wreturn-type -Wunused -Winline -pg -DLINUX -DHAS_SETENV \ -DFUSION_MAX_MAP_SIZE=15 -DFUSION_MAX_VECTOR_SIZE=15 -g -O0 \ --param large-function-growth=300 --param inline-unit-growth=200
c ++ g ++ gprof
Richard Corden
source share