From: Daniel Jacobowitz <drow@false.org>
To: Aleksandar Ristovski <aristovski@qnx.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [patch] Do not add partial_symbol again and again to the list
Date: Tue, 06 May 2008 18:50:00 -0000 [thread overview]
Message-ID: <20080506175636.GA31803@caradoc.them.org> (raw)
In-Reply-To: <48209891.3000400@qnx.com>
On Tue, May 06, 2008 at 01:42:41PM -0400, Aleksandar Ristovski wrote:
> I am not, however, happy with the patch completely - I think we can
> optimize it a bit more. Both struct partial_symbol and struct symbol
> are space critical and we should save everything we (reasonably)
> can.
>
> My "feeling" is that we could use struct symbol for both, populate
> only the "partial_symbol" portion and then, as we load full symbols,
> "promote" the existing allocated structures to full symbols; some
> operations would not repeat (like name construction or
> fixup_[p]?symbol_section); initial memory allocation would be
> greater, but in the long run I would expect that gdb would use less
> memory than it does now. Savings I am hoping to see from such
> approach are: overall lower memory consumption, much lower number of
> memory alloc's, and saving some redundant operations we do for both
> psyms and syms.
A symbol is about twice as big as a psymbol. So this would only lead
to less overall memory if we loaded more than half the full symbols in
an average debugging session. I just don't think that's true. It's
probably more like 5%.
And the bcache allows psymbols that look the same to use the same
memory. It's hugely effective - check maint print statistics. No
two symbols can share memory for various reasons. For instance, two
global functions will have different block pointers.
> Or, maybe, we could go step by step: commit this patch (providing
> you find it good enough) and then continue with more extensive
> changes?
I think we should finish up this patch, and then proceed from there.
Should we use this optimization for all global psymtabs? If so, then
we ought to do it in common code so that all the other symbol readers,
like stabs, benefit.
--
Daniel Jacobowitz
CodeSourcery
next prev parent reply other threads:[~2008-05-06 17:56 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-11 20:23 Aleksandar Ristovski
2008-02-11 20:38 ` Daniel Jacobowitz
2008-02-11 20:52 ` Aleksandar Ristovski
2008-02-11 21:09 ` Daniel Jacobowitz
2008-02-11 21:41 ` Aleksandar Ristovski
2008-02-11 21:48 ` Daniel Jacobowitz
2008-02-11 22:10 ` Aleksandar Ristovski
2008-02-11 22:31 ` Daniel Jacobowitz
2008-02-11 22:43 ` Aleksandar Ristovski
2008-02-11 22:53 ` Daniel Jacobowitz
2008-02-12 1:08 ` Aleksandar Ristovski
2008-02-12 2:12 ` Daniel Jacobowitz
2008-02-12 5:35 ` Aleksandar Ristovski
2008-02-12 13:26 ` Daniel Jacobowitz
2008-02-12 15:54 ` Aleksandar Ristovski
2008-02-13 5:23 ` Aleksandar Ristovski
2008-02-14 1:31 ` Aleksandar Ristovski
2008-05-02 18:11 ` Aleksandar Ristovski
2008-05-03 21:32 ` Daniel Jacobowitz
2008-05-05 19:41 ` Aleksandar Ristovski
2008-05-05 19:38 ` Aleksandar Ristovski
2008-05-06 15:47 ` Daniel Jacobowitz
2008-05-06 18:45 ` Aleksandar Ristovski
2008-05-06 18:39 ` Aleksandar Ristovski
2008-05-06 18:50 ` Daniel Jacobowitz [this message]
2008-05-07 8:22 ` Aleksandar Ristovski
2008-05-07 9:01 ` Aleksandar Ristovski
2008-06-05 18:17 ` Daniel Jacobowitz
2008-06-05 19:26 ` Aleksandar Ristovski
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=20080506175636.GA31803@caradoc.them.org \
--to=drow@false.org \
--cc=aristovski@qnx.com \
--cc=gdb-patches@sourceware.org \
/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