Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* RFC: have maint print statistics print a little more
@ 2003-02-13  1:54 Jason Molenda
  2003-02-13  2:31 ` David Carlton
  2003-02-13 14:52 ` Elena Zannoni
  0 siblings, 2 replies; 4+ messages in thread
From: Jason Molenda @ 2003-02-13  1:54 UTC (permalink / raw)
  To: gdb-patches

[-- 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));

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-02-14  1:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-13  1:54 RFC: have maint print statistics print a little more Jason Molenda
2003-02-13  2:31 ` David Carlton
2003-02-13 14:52 ` Elena Zannoni
2003-02-14  1:15   ` Jason Molenda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox