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 (齐尧)