From: Jason Molenda <jason-swarelist@molenda.com>
To: gdb-patches@sources.redhat.com
Subject: RFC: have maint print statistics print a little more
Date: Thu, 13 Feb 2003 01:54:00 -0000 [thread overview]
Message-ID: <20030212175358.A24355@molenda.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 1305 bytes --]
At Apple we're often faced with a mysteriously slow gdb. It would
be very helpful to know if we've just expanded all the psymtabs
into symtabs, or if we have some problem from the compiler that is
causing us to get a vastly larger number of psymtabs for header
files than we would normally have.
This patch adds a few new entries to the objfile information printed
by maint print statistics:
Statistics for '/home/jmolenda/sware/gdb/b/gdb/gdb':
Number of "stab" symbols read: 139907
Number of "minimal" symbols read: 8022
Number of "partial" symbols read: 24584
Number of "types" defined: 4794
* Number of psym tables (not yet expanded): 904
* Number of symbol tables: 260
* Number of symbol tables with line tables: 32
* Number of symbol tables with blockvectors: 33
Space used by a.out string tables: 1060259
Total memory used for psymbol obstack: 1190666
Total memory used for psymbol cache: 513072
Total memory used for macro cache: 4072
Total memory used for symbol obstack: 1717613
Total memory used for type obstack: 550039
I highlighted the new entries with '*'. This would be a very useful
piece of information when presented with a slow gdb here at Apple
- I think other folks may find it useful as well.
This patch introduces no new testsuite failures.
Comments?
J
[-- Attachment #2: pa.txt --]
[-- Type: text/plain, Size: 1736 bytes --]
2003-02-12 Jason Molenda (jmolenda@apple.com)
* symmis.c (print_objfile_statistics): Include information about
the number of psymtabs and symtabs in each object file.
Index: symmisc.c
===================================================================
RCS file: /cvs/src/src/gdb/symmisc.c,v
retrieving revision 1.14
diff -u -p -r1.14 symmisc.c
--- symmisc.c 18 Jan 2003 15:55:53 -0000 1.14
+++ symmisc.c 13 Feb 2003 01:48:50 -0000
@@ -179,6 +179,9 @@ void
print_objfile_statistics (void)
{
struct objfile *objfile;
+ struct symtab *s;
+ struct partial_symtab *ps;
+ int i, linetables, blockvectors;
immediate_quit++;
ALL_OBJFILES (objfile)
@@ -199,6 +202,28 @@ print_objfile_statistics (void)
if (OBJSTAT (objfile, n_types) > 0)
printf_filtered (" Number of \"types\" defined: %d\n",
OBJSTAT (objfile, n_types));
+ i = 0;
+ ALL_OBJFILE_PSYMTABS (objfile, ps)
+ {
+ if (ps->readin == 0)
+ i++;
+ }
+ printf_filtered (" Number of psym tables (not yet expanded): %d\n", i);
+ i = linetables = blockvectors = 0;
+ ALL_OBJFILE_SYMTABS (objfile, s)
+ {
+ i++;
+ if (s->linetable != NULL)
+ linetables++;
+ if (s->primary == 1)
+ blockvectors++;
+ }
+ printf_filtered (" Number of symbol tables: %d\n", i);
+ printf_filtered (" Number of symbol tables with line tables: %d\n",
+ linetables);
+ printf_filtered (" Number of symbol tables with blockvectors: %d\n",
+ blockvectors);
+
if (OBJSTAT (objfile, sz_strtab) > 0)
printf_filtered (" Space used by a.out string tables: %d\n",
OBJSTAT (objfile, sz_strtab));
next reply other threads:[~2003-02-13 1:54 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-02-13 1:54 Jason Molenda [this message]
2003-02-13 2:31 ` David Carlton
2003-02-13 14:52 ` Elena Zannoni
2003-02-14 1:15 ` Jason Molenda
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=20030212175358.A24355@molenda.com \
--to=jason-swarelist@molenda.com \
--cc=gdb-patches@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