From: mec.gnu@mindspring.com (Michael Elizabeth Chastain)
To: drow@mvista.com, jimb@redhat.com
Cc: carlton@kealia.com, gdb@sources.redhat.com
Subject: Re: new demangler
Date: Thu, 18 Dec 2003 04:04:00 -0000 [thread overview]
Message-ID: <20031218040343.7D40D4B375@berman.michael-chastain.com> (raw)
Jim Blandy writes:
> When working on big C++ programs, I think I remember seeing that the
> mangled and demangled names take up a *lot* of memory.
I analyzed this recently.
http://sources.redhat.com/ml/gdb/2003-12/msg00071.html
http://sources.redhat.com/ml/gdb/2003-12/msg00092.html
One specific thinko caused a lot of trouble for monotone, which is built
with the boost libraries. But mozilla does not have any symbols which
were affected by this bug, so memory size on mozilla probably didn't get
any better with this bug fix.
The new demangler has the same memory requirement has old demangler +
bug fix (46 megabytes on monotone). But the new demangler runs a lot
faster. Check out the difference in elapsed time between "H21" and
"H30" in my table. gdb with old demangler + bug fix starts up in 9.46
seconds, and gdb with new demangler starts up in 3.03 seconds.
> If that recollection is correct, it might be cool to have GDB store
> the trees instead of the names, and throw a bcache at the nodes in
> these demangled name trees, working from the leaves upward, to get
> maximum sharing. I bet that would bring the memory requirements down
> to something more closely resembling the actual number of classes,
> methods, etc. in the program.
How about quantifying gdb performance (space and time) on a real
program first. There might not be a problem at all. Then look for some
low-hanging fruit before pulling out the algorithmic guns.
Michael C
next reply other threads:[~2003-12-18 4:04 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-12-18 4:04 Michael Elizabeth Chastain [this message]
-- strict thread matches above, loose matches on Subject: below --
2003-12-15 23:55 Michael Elizabeth Chastain
2003-12-15 23:16 Michael Elizabeth Chastain
2003-12-15 22:53 David Carlton
2003-12-15 22:54 ` Daniel Jacobowitz
2003-12-15 23:01 ` David Carlton
2003-12-15 23:10 ` Ian Lance Taylor
2003-12-15 23:17 ` David Carlton
2003-12-15 23:20 ` Ian Lance Taylor
2003-12-15 23:23 ` Ian Lance Taylor
2003-12-15 23:29 ` David Carlton
2003-12-15 23:33 ` Ian Lance Taylor
2003-12-15 23:38 ` David Carlton
2003-12-16 5:30 ` Daniel Jacobowitz
2003-12-18 2:22 ` Jim Blandy
2003-12-18 2:58 ` Ian Lance Taylor
2003-12-18 5:21 ` Daniel Jacobowitz
2003-12-18 16:01 ` Ian Lance Taylor
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=20031218040343.7D40D4B375@berman.michael-chastain.com \
--to=mec.gnu@mindspring.com \
--cc=carlton@kealia.com \
--cc=drow@mvista.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