|
From: Konstantin S. <kon...@gm...> - 2008-01-11 16:04:44
|
Dear valgrind developers,
How do you usually profile valgrind tools?
I tried to profile a particularly long run of helgrind with oprofile.
The test runs ~1 second on a real CPU and fails after few hours under
helgrind.
The flat profile (after running for ~20 minutes and then pressing ^C) is:
8012128 56.8375 vgHelgrind_nextIterFM
3130689 22.2089 shadow_mem_make_NoAccess
1777779 12.6115 is_sane_Lock_BASE
241600 1.7139 cacheline_wback
194274 1.3782 avl_find_node
172924 1.2267 cacheline_fetch
I wanted to get the callgraph profile with oprofile, but it did not work :(
Would it be possible to run helgrind under callgrind? Did you try gprof? Any
other suggestions?
The output of -v (after 10 minutes run) follows,
Thanks,
--kcc
WordSet "univ_tsets":
addTo 22480424 (103026 uncached)
delFrom 0 (0 uncached)
union 6
intersect 0 (0 uncached) [nb. incl isSubsetOf]
minus 0 (0 uncached)
elem 0
doubleton 690570
isEmpty 0
isSingleton 0
anyElementOf 0
isSubsetOf 0
WordSet "univ_lsets":
addTo 23193877 (1663 uncached)
delFrom 264477 (1777 uncached)
union 0
intersect 22480375 (2546 uncached) [nb. incl isSubsetOf]
minus 1103497 (3271 uncached)
elem 38718
doubleton 0
isEmpty 5564937
isSingleton 0
anyElementOf 111388
isSubsetOf 1
WordSet "univ_laog":
addTo 15126 (1059 uncached)
delFrom 4 (3 uncached)
union 0
intersect 0 (0 uncached) [nb. incl isSubsetOf]
minus 0 (0 uncached)
elem 0
doubleton 110
isEmpty 0
isSingleton 0
anyElementOf 0
isSubsetOf 0
hbefore: 2,947,164 queries
hbefore: 2,579,162 cache 0 hits
hbefore: 366,749 cache > 0 hits
hbefore: 1,253 graph searches
hbefore: 1,253 of which slow
hbefore: 0 stack high water mark
hbefore: 1 cache invals
hbefore: 3,986,562 probes
segments: 115 Segment objects allocated
locksets: 376 unique lock sets
threadsets: 1,824 unique thread sets
univ_laog: 276 unique lock sets
L(ast)L(ock) map: 111,388 inserts (111382 map size)
LockN-to-P map: 0 queries (0 map size)
string table map: 3 queries (2 map size)
LAOG: 110 map size
LAOG exposition: 220 map size
locks: 20,541 acquires, 20,539 releases
sanity checks: 1
msm: 940,233,639 134,911,383 rd/wr_Excl_nochange
msm: 2,247,835 8,765 rd/wr_Excl_transfer
msm: 689,209 1,355 rd/wr_Excl_to_ShR/ShM
msm: 21,895,558 285 rd/wr_ShR_to_ShR/ShM
msm: 568,124 16,407 rd/wr_ShM_to_ShM
msm: 14,346,151 73,185,872 rd/wr_New_to_Excl
msm: 15,436,322 9,849,548 rd/wr_NoAccess
secmaps: 152,486 allocd (1,249,165,312 g-a-range)
linesZ: 39,036,416 allocd ( 936,873,984 bytes occupied)
linesF: 108,317 allocd ( 14,297,844 bytes occupied)
secmaps: 9,910,787 iterator steppings
cache: 1,713,992,037 totrefs (127,941,812 misses)
cache: 127,301,323 Z-fetch, 640,489 F-fetch
cache: 127,174,345 Z-wback, 701,931 F-wback
cache: 5 invals, 4 flushes
cline: 127,941,812 normalises
cline: reads 8/4/2/1: 641,284,727 123,701,933 9,885,381
223,364,501
cline: writes 8/4/2/1: 178,916,609 35,642,116 321,318
3,570,498
cline: sets 8/4/2/1: 464,389,946 52,889 51,272
58,262
cline: get1s 5,137, copy1s 5,136
cline: splits: 8to4 893,992 4to2 1,052,314 2to1
1,350,324
cline: pulldowns: 8to4 37,966,008 4to2 9,893,933 2to1
27,935,348
|