llvm-project/llvm/test/DebugInfo/PDB
Reid Kleckner e6a81b9bec [pdb] Add -type-stats and sort stats by descending size
Summary:
It prints this on chromium browser_tests.exe.pdb:

  Types
           Total: 5647475 entries ( 371,897,512 bytes,   65.85 avg)
  --------------------------------------------------------------------------
        LF_CLASS:  397894 entries ( 119,537,780 bytes,  300.43 avg)
    LF_STRUCTURE:  236351 entries (  83,208,084 bytes,  352.05 avg)
    LF_FIELDLIST:  291003 entries (  66,087,920 bytes,  227.10 avg)
    LF_MFUNCTION: 1884176 entries (  52,756,928 bytes,   28.00 avg)
      LF_POINTER: 1149030 entries (  13,877,344 bytes,   12.08 avg)
      LF_ARGLIST:  789980 entries (  12,436,752 bytes,   15.74 avg)
   LF_METHODLIST:  361498 entries (   8,351,008 bytes,   23.10 avg)
         LF_ENUM:   16069 entries (   6,108,340 bytes,  380.13 avg)
    LF_PROCEDURE:  269374 entries (   4,309,984 bytes,   16.00 avg)
     LF_MODIFIER:  235602 entries (   2,827,224 bytes,   12.00 avg)
        LF_UNION:    9131 entries (   2,072,168 bytes,  226.94 avg)
      LF_VFTABLE:     323 entries (     207,784 bytes,  643.29 avg)
        LF_ARRAY:    6639 entries (     106,380 bytes,   16.02 avg)
      LF_VTSHAPE:     126 entries (       6,472 bytes,   51.37 avg)
     LF_BITFIELD:     278 entries (       3,336 bytes,   12.00 avg)
        LF_LABEL:       1 entries (           8 bytes,    8.00 avg)

The PDB is overall 1.9GB, so the LF_CLASS and LF_STRUCTURE declarations
account for about 10% of the overall file size. I was surprised to find
that on average LF_FIELDLIST records are short. Maybe this is because
there are many more types with short member lists than there are
instantiations with lots of members, like std::vector.

Reviewers: aganea, zturner

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D59672

llvm-svn: 356813
2019-03-22 21:22:13 +00:00
..
DIA [PDB] Fix this test for real. 2018-09-30 03:57:49 +00:00
Inputs [PDB] Fix another bug in globals stream name lookup. 2018-10-09 21:19:03 +00:00
Native [PDB] Add support for dumping Typedef records. 2018-10-01 17:55:38 +00:00
dbi-bytes.test
dump-fpm.test
every-type.test [PDB] Add the ability to map forward references to full decls. 2018-09-20 15:50:13 +00:00
just-my-code.test
module-bytes.test Support skewed stream arrays. 2018-12-06 16:55:00 +00:00
module-stats.test [pdb] Add -type-stats and sort stats by descending size 2019-03-22 21:22:13 +00:00
obj-globalhash.test Resubmit [pdb] Change /DEBUG:GHASH to emit 8 byte hashes." 2018-05-17 22:55:15 +00:00
pdb-invalid-type.test [DebugInfo] Common behavior for error types 2018-08-31 17:41:58 +00:00
pdb-longname-truncation.test
pdb-minimal-construct.test
pdb-resolve-forward-refs.test [PDB] Add the ability to map forward references to full decls. 2018-09-20 15:50:13 +00:00
pdb-type-ref-stats.test [llvm-pdbutil] Add -type-ref-stats to help find unused type info 2019-03-21 18:02:34 +00:00
pdb-unknown-symbol.test
pdb-yaml-symbols.test
pdbdump-debug-subsections.test
pdbdump-global-lookup.test [PDB] Fix another bug in globals stream name lookup. 2018-10-09 21:19:03 +00:00
pdbdump-globals-empty.test
pdbdump-headers.test [PDB] Add the ability to map forward references to full decls. 2018-09-20 15:50:13 +00:00
pdbdump-merge-ids-and-types.test
pdbdump-mergeids.test
pdbdump-mergetypes.test
pdbdump-objfilename.yaml
pdbdump-raw-blocks.test
pdbdump-raw-bytes.test
pdbdump-raw-stream.test
pdbdump-readwrite.test
pdbdump-source-names.test
pdbdump-write.test
pdbdump-yaml-types.test
pdbdump-yaml.test
section-headers.test
tpi-bytes.test
type-stats.test [pdb] Add -type-stats and sort stats by descending size 2019-03-22 21:22:13 +00:00
udt-stats.test [pdb] Add -type-stats and sort stats by descending size 2019-03-22 21:22:13 +00:00
using-namespace.test [CodeView] Minimal support for S_UNAMESPACE records 2018-07-31 19:15:50 +00:00
write-fpm.test