Re: Performance issue of -var-list-children on structs with many members and remote targets

Yao Qi <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 08/08/2014 03:25 PM, Raphael Zulliger wrote:
> Now my simple question: Couldn't GDB be tweaked to get the struct member 
> values by just one call (because members within a struct are guaranteed 
> to be consecutive, aren't they?):
> 
> 499,883 38-var-list-children var2.public
> 499,884 &"Sending packet: $m601050,24#??"
> 
> I guess this would dramatically increase overall performance.
> 
> I would really like to see such an improvement in GDB. Therefore, I'd be 
> very happy to hear your thoughts and suggestion. Thinks like: What 
> problems (e.g. border cases) could arise when implementing this? Where 
> to start in the GDB code for such a modification? Or do there exist any 
> GDB switches to improve performance on such operations? etc...

I have no idea how to merge multiple reads into one.

Cache is used in GDB to read code and stack from target, which
increases performance to some extent (See target_read_code and
target_read_stack).  However, cache is NOT used to read general data.
Probably, you can make general data reading use cache too.

-- 
Yao (齐尧)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.