From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Blandy To: gdb@sourceware.cygnus.com Subject: Re: GDB's bcache improved Date: Wed, 24 Nov 1999 08:46:00 -0000 Message-id: References: <199911201703.MAA00556@zwingli.cygnus.com> X-SW-Source: 1999-q4/msg00322.html Okay, the bcache hash table grows now. The memory overhead is larger, but the hash chain lengths are shorter, so the bcache is probably faster, and its performance will scale better when debugging large applications. The new figures: Made bcache hash table grow. Luddite! To disable command-line taunts, run gdb with "-w". GNU gdb 4.18.1 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"... Setting up the environment for debugging gdb. Breakpoint 1 at 0x80a201b: file /ecliptic/jimb/main/comp-tools/devo/gdb/utils.c, line 644. Breakpoint 2 at 0x809fd97: file /ecliptic/jimb/main/comp-tools/devo/gdb/top.c, line 2930. Breakpoint 3 at 0x804eaa8: file /ecliptic/jimb/main/comp-tools/devo/gdb/main.c, line 821. Breakpoint 3, main (argc=1, argv=0xbffff544) at /ecliptic/jimb/main/comp-tools/devo/gdb/main.c:821 821 args.argc = argc; Statistics for '/umbra/jimb/i686/build/comp-tools/gdb/gdb': Number of "stab" symbols read: 205514 Number of "minimal" symbols read: 10349 Number of "partial" symbols read: 31744 Number of "types" defined: 4502 Space used by a.out string tables: 1356093 Total memory used for psymbol obstack: 1551649 Total memory used for psymbol cache: 969136 Total memory used for symbol obstack: 1584552 Total memory used for type obstack: 518932 Statistics for '/usr/lib/libncurses.so.4': Number of "minimal" symbols read: 648 Total memory used for psymbol obstack: 4072 Total memory used for psymbol cache: 4072 Total memory used for symbol obstack: 35680 Total memory used for type obstack: 4072 Statistics for '/usr/X11R6/lib/libX11.so.6': Number of "minimal" symbols read: 2425 Total memory used for psymbol obstack: 4072 Total memory used for psymbol cache: 4072 Total memory used for symbol obstack: 140372 Total memory used for type obstack: 4072 Statistics for '/lib/libdl.so.2': Number of "stab" symbols read: 1701 Number of "minimal" symbols read: 61 Number of "partial" symbols read: 832 Space used by a.out string tables: 36806 Total memory used for psymbol obstack: 57266 Total memory used for psymbol cache: 32576 Total memory used for symbol obstack: 4072 Total memory used for type obstack: 4072 Statistics for '/lib/libm.so.6': Number of "stab" symbols read: 21013 Number of "minimal" symbols read: 1264 Number of "partial" symbols read: 5712 Space used by a.out string tables: 41957 Total memory used for psymbol obstack: 107209 Total memory used for psymbol cache: 57008 Total memory used for symbol obstack: 61928 Total memory used for type obstack: 4072 Statistics for '/lib/libc.so.6': Number of "stab" symbols read: 137855 Number of "minimal" symbols read: 3972 Number of "partial" symbols read: 26684 Space used by a.out string tables: 520856 Total memory used for psymbol obstack: 814140 Total memory used for psymbol cache: 329832 Total memory used for symbol obstack: 216424 Total memory used for type obstack: 4072 Statistics for '/lib/ld-linux.so.2': Number of "stab" symbols read: 13541 Number of "minimal" symbols read: 303 Number of "partial" symbols read: 2245 Number of "types" defined: 626 Space used by a.out string tables: 83852 Total memory used for psymbol obstack: 124672 Total memory used for psymbol cache: 57008 Total memory used for symbol obstack: 126212 Total memory used for type obstack: 65152 Byte cache statistics for '/umbra/jimb/i686/build/comp-tools/gdb/gdb': Cached 'partial symbol cache' statistics: Total object count: 63488 Unique object count: 28851 Percentage of duplicates, by count: 54% Total object size: 1507674 Unique object size: 709564 Percentage of duplicates, by size: 52% Total memory used by bcache, including overhead: 973136 Percentage memory overhead: 37% Net memory savings: 35% Hash table size: 8191 Hash table population: 96% Median hash chain length: 3 Average hash chain length: 3 Maximum hash chain length: 12 Byte cache statistics for '/usr/lib/libncurses.so.4': Cached 'partial symbol cache' statistics: Total object count: 0 Unique object count: 0 Percentage of duplicates, by count: (not applicable) Total object size: 0 Unique object size: 0 Percentage of duplicates, by size: (not applicable) Total memory used by bcache, including overhead: 0 Percentage memory overhead: (not applicable) Net memory savings: (not applicable) Hash table size: 0 Hash table population: (not applicable) Median hash chain length: 0 Average hash chain length: (not applicable) Maximum hash chain length: 0 Byte cache statistics for '/usr/X11R6/lib/libX11.so.6': Cached 'partial symbol cache' statistics: Total object count: 0 Unique object count: 0 Percentage of duplicates, by count: (not applicable) Total object size: 0 Unique object size: 0 Percentage of duplicates, by size: (not applicable) Total memory used by bcache, including overhead: 0 Percentage memory overhead: (not applicable) Net memory savings: (not applicable) Hash table size: 0 Hash table population: (not applicable) Median hash chain length: 0 Average hash chain length: (not applicable) Maximum hash chain length: 0 Byte cache statistics for '/lib/libdl.so.2': Cached 'partial symbol cache' statistics: Total object count: 1664 Unique object count: 1006 Percentage of duplicates, by count: 39% Total object size: 37604 Unique object size: 23125 Percentage of duplicates, by size: 38% Total memory used by bcache, including overhead: 35257 Percentage memory overhead: 52% Net memory savings: 6% Hash table size: 1021 Hash table population: 63% Median hash chain length: 1 Average hash chain length: 0 Maximum hash chain length: 5 Byte cache statistics for '/lib/libm.so.6': Cached 'partial symbol cache' statistics: Total object count: 11424 Unique object count: 1847 Percentage of duplicates, by count: 83% Total object size: 247267 Unique object size: 40078 Percentage of duplicates, by size: 83% Total memory used by bcache, including overhead: 58938 Percentage memory overhead: 47% Net memory savings: 76% Hash table size: 1021 Hash table population: 83% Median hash chain length: 2 Average hash chain length: 1 Maximum hash chain length: 7 Byte cache statistics for '/lib/libc.so.6': Cached 'partial symbol cache' statistics: Total object count: 53368 Unique object count: 10223 Percentage of duplicates, by count: 80% Total object size: 1184808 Unique object size: 235800 Percentage of duplicates, by size: 80% Total memory used by bcache, including overhead: 325796 Percentage memory overhead: 38% Net memory savings: 72% Hash table size: 2053 Hash table population: 99% Median hash chain length: 5 Average hash chain length: 4 Maximum hash chain length: 13 Byte cache statistics for '/lib/ld-linux.so.2': Cached 'partial symbol cache' statistics: Total object count: 4490 Unique object count: 1735 Percentage of duplicates, by count: 61% Total object size: 99728 Unique object size: 39578 Percentage of duplicates, by size: 60% Total memory used by bcache, including overhead: 57542 Percentage memory overhead: 45% Net memory savings: 42% Hash table size: 1021 Hash table population: 81% Median hash chain length: 2 Average hash chain length: 1 Maximum hash chain length: 7