Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* 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