diff options
author | Zack Weinberg <zack@wolery.stanford.edu> | 2000-11-22 00:18:18 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2000-11-22 00:18:18 +0000 |
commit | dfc55970936e74f5305b4170d51f37e33982f901 (patch) | |
tree | e887ed32697fcd124a74f19e4d01ea9aa3657f62 /gcc/stringpool.c | |
parent | 5feb272b7a4f084ae628f16c7e252a14b3b47764 (diff) | |
download | gcc-dfc55970936e74f5305b4170d51f37e33982f901.zip gcc-dfc55970936e74f5305b4170d51f37e33982f901.tar.gz gcc-dfc55970936e74f5305b4170d51f37e33982f901.tar.bz2 |
stringpool.c (stringpool_statistics): Also report number and percentage of entries which are identifiers.
* stringpool.c (stringpool_statistics): Also report number and
percentage of entries which are identifiers.
From-SVN: r37633
Diffstat (limited to 'gcc/stringpool.c')
-rw-r--r-- | gcc/stringpool.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/stringpool.c b/gcc/stringpool.c index 20db021..ceb454d 100644 --- a/gcc/stringpool.c +++ b/gcc/stringpool.c @@ -345,7 +345,7 @@ maybe_get_identifier (text) void stringpool_statistics () { - size_t nelts, overhead, headers; + size_t nelts, nids, overhead, headers; size_t total_bytes, longest, sum_of_squares; double exp_len, exp_len2, exp2_len; struct str_header *e; @@ -356,7 +356,7 @@ stringpool_statistics () : (x) / (1024*1024)))) #define LABEL(x) ((x) < 1024*10 ? ' ' : ((x) < 1024*1024*10 ? 'k' : 'M')) - total_bytes = longest = sum_of_squares = 0; + total_bytes = longest = sum_of_squares = nids = 0; FORALL_STRINGS (e) { size_t n = e->len; @@ -365,6 +365,8 @@ stringpool_statistics () sum_of_squares += n*n; if (n > longest) longest = n; + if (e->data) + nids++; } nelts = string_hash.nelements; @@ -374,10 +376,13 @@ stringpool_statistics () fprintf (stderr, "\nString pool\n\ entries\t\t%lu\n\ +identifiers\t%lu (%.2f%%)\n\ slots\t\t%lu\n\ bytes\t\t%lu%c (%lu%c overhead)\n\ table size\t%lu%c\n", - (unsigned long) nelts, (unsigned long) string_hash.nslots, + (unsigned long) nelts, + (unsigned long) nids, nids * 100.0 / nelts, + (unsigned long) string_hash.nslots, SCALE (total_bytes), LABEL (total_bytes), SCALE (overhead), LABEL (overhead), SCALE (headers), LABEL (headers)); |