From: Daniel Jacobowitz <drow@mvista.com>
To: gdb@sources.redhat.com
Subject: Re: Terminally slow (75 seconds) on some steps
Date: Sat, 16 Aug 2003 15:11:00 -0000 [thread overview]
Message-ID: <20030816151124.GA2746@nevyn.them.org> (raw)
In-Reply-To: <3F3D65C5.2070005@redhat.com>
On Fri, Aug 15, 2003 at 06:59:17PM -0400, Andrew Cagney wrote:
> That's striking. GDB spent 4s/30s avoiding the creation of duplicate
> strings and other symbols. The lack of call graph is a shame, useful to
> know from where this was called. Hmm, assuming no macro debug info
> there are only three calls, all in symtab.c:
>
> - recording the symbol name (linkage name?)
> - recording the demangled name
> - recording a partial symbol
>
> This is to save a significant amount of memory. Often two files will
> contain the same partial symbol information (due to headers et.al.).
>
> It's interesting how linkage and demangled names (strings) share the
> same bcache as partial symbol (a struct). Wonder if separate caches
> would lead to a better hit rate?
>
> I also wonder if the full symbols are making use of the partial symbol
> name bcache.
See SYMBOL_SET_NAMES - I fixed that fairly recently. Also,
add_psymbol_to_list is how most partial symbols are added; that uses
the same name cache. If you're talking about the call to bcache in
add_psymbol_with_dem_name_to_list, it's only used by hpread.c. Fixing
this did in fact improve the hit rate.
> >c011f6b8 663 2.3393 vmlinux do_anonymous_page
> >00000000 622 2.1946 XFree86 (no symbols)
> >08134b74 574 2.0253 gdb read_partial_die
>
> Ok, so its spending a lot of time reading partial symbols.
I've got some plans in this direction... just haven't had time to do
anything about it yet :(
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
next prev parent reply other threads:[~2003-08-16 15:11 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1057999221.6815.ezmlm@sources.redhat.com>
2003-07-12 9:03 ` Robert Vazan
2003-07-17 16:34 ` Andrew Cagney
2003-07-18 13:06 ` Robert Vazan
2003-07-18 21:56 ` Andrew Cagney
2003-07-19 11:29 ` Robert Vazan
2003-07-21 14:21 ` Andrew Cagney
2003-07-21 17:38 ` Robert Vazan
2003-08-05 5:20 ` Andrew Cagney
2003-08-05 18:04 ` Robert Vazan
2003-08-05 18:35 ` Andrew Cagney
2003-08-14 12:05 ` Robert Vazan
2003-08-15 22:59 ` Andrew Cagney
2003-08-16 15:11 ` Daniel Jacobowitz [this message]
2003-08-16 16:36 ` Andrew Cagney
2003-08-16 16:41 ` Daniel Jacobowitz
2003-08-17 3:29 ` Daniel Berlin
2003-08-18 15:05 ` Andrew Cagney
2003-08-18 16:15 ` Daniel Berlin
2003-08-16 16:38 ` Robert Vazan
2003-08-20 16:12 ` Robert Vazan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030816151124.GA2746@nevyn.them.org \
--to=drow@mvista.com \
--cc=gdb@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox