* MI: -var-update performance @ 2006-06-06 7:05 Vladimir Prus 2006-06-06 12:33 ` Daniel Jacobowitz 2006-06-08 6:22 ` Nick Roberts 0 siblings, 2 replies; 3+ messages in thread From: Vladimir Prus @ 2006-06-06 7:05 UTC (permalink / raw) To: gdb Hi, I'm running into a case where -var-update takes about 2 seconds to execute. There's quite a lot of varobjs, but 2 seconds is beyond any expectation. Here's the profile: Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls Ts/call Ts/call name 22.44 70.23 70.23 lookup_partial_symbol 19.65 131.72 61.49 lookup_minimal_symbol_by_pc_section 15.80 181.16 49.44 basic_lookup_transparent_type 10.39 213.67 32.51 find_pc_sect_psymtab 5.25 230.11 16.45 strcmp_iw_ordered 2.50 237.93 7.82 find_pc_sect_section 1.96 244.06 6.13 dwarf2_frame_find_fde 1.88 249.94 5.89 strcmp_iw 1.21 253.72 3.78 read_partial_die 1.02 256.90 3.18 lookup_symbol_aux_psymtabs 0.97 259.94 3.04 symbol_search_name Any ideas what's up? Should I try to rebuild gdb with --enable-profiling to get call graph? - Volodya ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: MI: -var-update performance 2006-06-06 7:05 MI: -var-update performance Vladimir Prus @ 2006-06-06 12:33 ` Daniel Jacobowitz 2006-06-08 6:22 ` Nick Roberts 1 sibling, 0 replies; 3+ messages in thread From: Daniel Jacobowitz @ 2006-06-06 12:33 UTC (permalink / raw) To: Vladimir Prus; +Cc: gdb On Tue, Jun 06, 2006 at 11:05:24AM +0400, Vladimir Prus wrote: > Any ideas what's up? Should I try to rebuild gdb with --enable-profiling to > get call graph? Probably. There's something being lame, either in the symbol table data structures themselves, or in what's being looked up. -- Daniel Jacobowitz CodeSourcery ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: MI: -var-update performance 2006-06-06 7:05 MI: -var-update performance Vladimir Prus 2006-06-06 12:33 ` Daniel Jacobowitz @ 2006-06-08 6:22 ` Nick Roberts 1 sibling, 0 replies; 3+ messages in thread From: Nick Roberts @ 2006-06-08 6:22 UTC (permalink / raw) To: Vladimir Prus; +Cc: gdb Vladimir Prus writes: > > Hi, > I'm running into a case where -var-update takes about 2 seconds to execute. > There's quite a lot of varobjs, but 2 seconds is beyond any expectation. > > Here's the profile: > > Each sample counts as 0.01 seconds. > % cumulative self self total > time seconds seconds calls Ts/call Ts/call name > 22.44 70.23 70.23 lookup_partial_symbol > 19.65 131.72 61.49 > lookup_minimal_symbol_by_pc_section > 15.80 181.16 49.44 > basic_lookup_transparent_type > 10.39 213.67 32.51 find_pc_sect_psymtab > 5.25 230.11 16.45 strcmp_iw_ordered > 2.50 237.93 7.82 find_pc_sect_section > 1.96 244.06 6.13 dwarf2_frame_find_fde > 1.88 249.94 5.89 strcmp_iw > 1.21 253.72 3.78 read_partial_die > 1.02 256.90 3.18 > lookup_symbol_aux_psymtabs > 0.97 259.94 3.04 symbol_search_name > > > > Any ideas what's up? Should I try to rebuild gdb with --enable-profiling to > get call graph? More generally, I think we should add a timestamp field, like Apple have, so we can see which MI commands are using most of the time e.g. From: Jason Molenda <jmolenda@apple.com> Subject: Re: How does GDB/MI give the current frame Date: Thu, 15 Jul 2004 13:04:20 -0700 (gdb) -interpreter-exec console-quoted up ~"#2 0x000321f4 in gdb_main (args=0xbffff620) at ../../gdb/src/gdb/main.c:851\n" ~"851\t catch_errors (captured_main, args, \"\", RETURN_MASK_ALL);\n" ^done,MI_HOOK_RESULT=[HOOK_TYPE="frame_changed",frame="2"],time= {wallclock="0.00620",user="0.00323",system="0.00283",start="1089921236.3 59009",end="1089921236.365212"} (gdb) -- Nick http://www.inet.net.nz/~nickrob ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-06-08 3:50 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-06-06 7:05 MI: -var-update performance Vladimir Prus 2006-06-06 12:33 ` Daniel Jacobowitz 2006-06-08 6:22 ` Nick Roberts
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox