Hi,
I’d like to do some time profiling on a root macro and found the howto “valgrind and ROOT”. I tried to follow the recipe by calling
valgrind --tool=callgrind --fn-skip=_dl_runtime_resolve_avx root.exe -l -b -q mymacro.C+
and got lengthy output called ‘callgrind.out.2269’. But I have no clue how to interprete the ouput. It has 665k lines output looking like this:
# callgrind format
version: 1
creator: callgrind-3.14.0
pid: 2269
cmd: root.exe -l -b -q HepFastSimDemo.C+(5000,"phsp14_3.cfg","rndseed=123:hconf=450,3:savefig=fig/SimDemo14_D0_reset7.png")
part: 1
desc: I1 cache:
desc: D1 cache:
desc: LL cache:
desc: Timerange: Basic block 0 - 7910139146
desc: Trigger: Program termination
positions: line
events: Ir
summary: 35786943301
ob=(2) ???
fl=(17) ???
fn=(1350) 0x00000000049d9f68
0 21382
cob=(13) /cvmfs/eel.gsi.de/debian10-x86_64/root/624-04/lib/libCore.so
cfi=(133) ???
cfn=(1352) ROOT::GetROOT()
calls=21382 0
0 445488962
fn=(1351) 0x00000000049d9f68'2
0 1505
cob=(13)
cfi=(133)
cfn=(1353) ROOT::GetROOT()'2
calls=1505 0
0 12040
fn=(1614) 0x00000000049d9f60
0 363
cob=(13)
cfi=(133)
cfn=(1616) TDirectory::CurrentDirectory()
calls=363 0
0 2178
.
.
.
The macro is not stand-alone, but actually is using a set of classes in the same directory. Is this a problem, or did I do something wrong?
Best,
Klaus