Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: David Carlton <carlton@kealia.com>
To: gdb@sources.redhat.com
Subject: Re: Huge slowdown since 6.0
Date: Fri, 20 Feb 2004 16:52:00 -0000	[thread overview]
Message-ID: <yf265e11yng.fsf@hawaii.kealia.com> (raw)
In-Reply-To: <20040220050905.GA15209@nevyn.them.org> (Daniel Jacobowitz's message of "Fri, 20 Feb 2004 00:09:06 -0500")

On Fri, 20 Feb 2004 00:09:06 -0500, Daniel Jacobowitz <drow@false.org> said:
> My testcase is in C.

> These are all conditionalized on language_cplus.

> How can they possibly be to blame?  Well, they are.  And reverting the
> change for enumerators definitely won't do any harm.  Take a look at
> this, read it two or three times if necessary - it took me about a
> dozen:

>> > -                          &objfile->static_psymbols,
>> > +                          cu_language == language_cplus
>> > +                          ? &objfile->static_psymbols
>> > +                          : &objfile->global_psymbols,

> If I swap "static" and "global", it reduces GDB startup time by roughly
> 40% for glibc with debug information, which contains a lot of C
> enumerators.  I assume that is what you meant to do in the first
> place?

Um, yeah.  Oops.  That would qualify as an obvious fix.

There's one other interesting point here - where exactly is the
slowdown coming from?  After all, we generate the same number of
searches, and lookup_symbol can potentially look at all the static
psymbols just like it could look at all the global psymbols.  Not only
that, but looking at the static psymbols is vastly slower than looking
at the global psymbols (for no good reason, as far as I know, but
that's a separate issue; lookup_partial_symbol has issues).

But I suppose the point is that looking at all the static psymbols is
only a very last resort in lookup_symbol, so (as long as the symbol
you're looking for actually exists) it wouldn't get called very often.

Or is there something else that I'm missing?

David Carlton
carlton@kealia.com


  parent reply	other threads:[~2004-02-20 16:52 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-18 21:09 Daniel Jacobowitz
2004-02-18 21:31 ` David Carlton
2004-02-18 22:45   ` Kip Macy
2004-02-19  3:35     ` Daniel Jacobowitz
2004-02-19  5:06       ` Kip Macy
2004-02-19 15:40         ` Daniel Jacobowitz
2004-02-20  5:09   ` Daniel Jacobowitz
2004-02-20 16:42     ` Elena Zannoni
2004-02-20 16:47       ` Daniel Jacobowitz
2004-02-20 17:33         ` Elena Zannoni
2004-02-20 17:01       ` Andrew Cagney
2004-02-20 17:05         ` Daniel Jacobowitz
2004-02-20 17:45         ` Elena Zannoni
2004-02-20 18:07           ` Andrew Cagney
2004-02-20 18:24             ` Daniel Jacobowitz
2004-02-20 18:45               ` Andrew Cagney
2004-02-20 18:48                 ` Daniel Jacobowitz
2004-02-21  9:21                   ` Eli Zaretskii
2004-02-21  9:04                 ` Eli Zaretskii
2004-02-21  2:18           ` Daniel Jacobowitz
2004-02-20 16:52     ` David Carlton [this message]
2004-02-20 16:58       ` Daniel Jacobowitz
2004-02-20 17:00         ` David Carlton
2004-02-20 17:35       ` Elena Zannoni
2004-02-19  1:59 ` Elena Zannoni
2004-02-19  3:35   ` Daniel Jacobowitz
2004-02-19  3:58     ` Daniel Jacobowitz
2004-02-20 19:57 Michael Elizabeth Chastain
2004-02-23 19:22 ` Andrew Cagney

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=yf265e11yng.fsf@hawaii.kealia.com \
    --to=carlton@kealia.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