From: Aleksandar Ristovski <aristovski@qnx.com>
To: Daniel Jacobowitz <drow@false.org>
Cc: gdb-patches@sourceware.org
Subject: Re: [patch] Do not add partial_symbol again and again to the list
Date: Thu, 14 Feb 2008 01:31:00 -0000 [thread overview]
Message-ID: <47B399EA.3000800@qnx.com> (raw)
In-Reply-To: <47B27EB1.6030606@qnx.com>
Aleksandar Ristovski wrote:
>
> The patch:
>
> This revised patch adds global symbols only once to first partial symbol table
> where the symbol was encountered, but only for namespace,
> class_type, interface_type, union_type, enumeration_type and enumerator partial
> symbol types (for the last two, only for java and cplus).
>
Here are some timings with a real-life binary. The time to load symbols for
unpatched (gdb from current HEAD) is around 70 seconds, while the patched gdb
needed less than 40 seconds. Almost 50% less for this particular binary which is
built from c++ source using stl heavily.
I have run tests (make check) and saw no regression; I also did other testing
(many debugging sessions) and haven't seen anything broken, but if you can come
up with a test case that breaks after the patch, I would be very interested to see.
Note that the patch does not change anything about static partial symbols, only
global psyms.
$ cat ../nopatch.log
GNU gdb 6.7.50.20080214-cvs
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu".
Command execution time: 0.000000
Space used: 135168 (+0 for this command)
+sym /tmp/at/libalib.so
Command execution time: 69.076317
Space used: 36360192 (+36225024 for this command)
+quit
$ cat ../withpatch.log
GNU gdb 6.7.50.20080213-cvs
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu".
Command execution time: 0.000000
Space used: 135168 (+0 for this command)
+sym /tmp/at/libalib.so
Command execution time: 32.830052
Space used: 36319232 (+36184064 for this command)
+quit
next prev parent reply other threads:[~2008-02-14 1:31 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 [this message]
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
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=47B399EA.3000800@qnx.com \
--to=aristovski@qnx.com \
--cc=drow@false.org \
--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