From: Daniel Jacobowitz <drow@mvista.com>
To: Andrew Cagney <ac131313@redhat.com>
Cc: Elena Zannoni <ezannoni@redhat.com>,
David Carlton <carlton@math.stanford.edu>,
gdb <gdb@sources.redhat.com>, Jim Blandy <jimb@redhat.com>
Subject: Re: DW_AT_specification and partial symtabs
Date: Fri, 13 Jun 2003 15:50:00 -0000 [thread overview]
Message-ID: <20030613154932.GA313@nevyn.them.org> (raw)
In-Reply-To: <3EE9EFFE.6050607@redhat.com>
On Fri, Jun 13, 2003 at 11:38:38AM -0400, Andrew Cagney wrote:
> Daniel wrote:
>
>
> > > 1) is very easy to measure. GDB has a command line option --readnow
> > > which forces symtabs to be read in immediately. I tried my normal
> > > performance testcase: a dummy main() linked to all of mozilla's
> > > component libraries, with full stabs debug info. Note stabs, not
> > > DWARF2, so the timing may vary. Also note that we duplicate psymtab
> > > and symtab creation doing it this way, so it overestimates the cost.
>
> I think that's an understatement.
Not really. You can subtract the psymtab time from the combined time,
and then compare. It still more than triples the time.
> Elena wrote:
>
> >But with --readnow we do both psymtabs and symtabs. I wonder, if we
> >didn't do psymtabs at all, the time would improve, one hopes.
> >And the memory footprint would shrink too.
>
> Some back of envelope caculations are in order.
>
> ``(gdb) print sizeof (struct ...) indicates that sizeof(symtab) ~=
> 2*sizeof(psymtab) so GDB is burning 33% of allocated memory. Assuming
> memory and file I/O are the bottle neck, slashing 33% of memory should
> slash 33% of the time.
>
> I just hope GDB isn't doing something stupid like searching psymtab
> before symtab.
That neglects type information, which we don't really build during
psymtab reading, and is a huge memory sink.
> > > Note that none of those times is really acceptably fast, IMHO. Probably
> > > they all can be improved. Looking at profiling data I see about three
> > > seconds we can knock off the symbol reader and there are almost
> > > certainly more.
>
> I think oprofile data would be far more useful - remember the thread
> problem where the profile data (and its suggested micro-optimizations)
Ah, but you can back-of-the-envelope simulate this easily without
oprofile. Build without -pg, use maint set profile. It does only flat
profiling using a timer, and is fairly accurate.
> were totally bogus. But having said that, wasn't there a proposal to
> fix/rewrite BFD's mmap interface?
Yes, but who knows when it'll happen.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
next prev parent reply other threads:[~2003-06-13 15:50 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-06-12 17:01 David Carlton
2003-06-12 17:05 ` Daniel Jacobowitz
2003-06-12 17:10 ` David Carlton
2003-06-12 17:20 ` Elena Zannoni
2003-06-12 22:17 ` David Carlton
2003-06-13 13:36 ` Daniel Jacobowitz
2003-06-13 14:00 ` Elena Zannoni
2003-06-13 15:38 ` Andrew Cagney
2003-06-13 15:50 ` Daniel Jacobowitz [this message]
2003-06-13 15:57 ` Andrew Cagney
2003-06-13 16:24 ` Andrew Cagney
2003-06-13 16:34 ` Daniel Jacobowitz
2003-06-17 0:09 ` David Carlton
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=20030613154932.GA313@nevyn.them.org \
--to=drow@mvista.com \
--cc=ac131313@redhat.com \
--cc=carlton@math.stanford.edu \
--cc=ezannoni@redhat.com \
--cc=gdb@sources.redhat.com \
--cc=jimb@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