[PATCH] D58599: [LLD] Add summary support

Alexandre Ganea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 25 06:08:11 PST 2019


aganea added a comment.

I would also like an overall opinion from you all: when using `/summary` in production, the numbers can get pretty big.
For example, a day-to-day developement build:

                                       Summary
  --------------------------------------------------------------------------------
             4785 Input OBJ files (expanded from all cmd-line inputs)
               71 Dependent PDB files
               27 Dependent PCH OBJ files
        139948902 Input type records (across all OBJ and dependencies)
       8449407544 Input type records bytes (across all OBJ and dependencies)
          9664019 Output merged type records
         40258663 Output merged symbol records
            48454 Output PDB strings

A similar target, but non-unity TUs:

                                      Summary
  --------------------------------------------------------------------------------
             6031 Input OBJ files (expanded from all cmd-line inputs)
                0 Dependent PDB files
                1 Dependent PCH OBJ files
       1854813694 Input type records (across all OBJ and dependencies)
     107738367784 Input type records bytes (across all OBJ and dependencies)
         14259032 Output merged type records
         86900071 Output merged symbol records
            23641 Output PDB strings

The numbers become meaningless because they are too big. It might take you a bit to count the decimals to understand it's 107 GB there for the "Input type records bytes" line.

We could use the locale, but things are not much better:

                                      Summary
  --------------------------------------------------------------------------------
              6,031 Input OBJ files (expanded from all cmd-line inputs)
                  0 Dependent PDB files
                  1 Dependent PCH OBJ files
      1,854,813,694 Input type records (across all OBJ and dependencies)
    107,738,367,784 Input type records bytes (across all OBJ and dependencies)
         14,259,032 Output merged type records
         86,900,071 Output merged symbol records
             23,641 Output PDB strings

So maybe we could round some of these numbers, just to give a first order of magnitude information:

                                      Summary
  --------------------------------------------------------------------------------
              6,031 Input OBJ files (expanded from all cmd-line inputs)
                  0 Dependent PDB files
                  1 Dependent PCH OBJ files
               1.8B Input type records (across all OBJ and dependencies)
            107.7GB Input type records bytes (across all OBJ and dependencies)
              14.2M Output merged type records
              86.9M Output merged symbol records
             23,641 Output PDB strings

And maybe have `/summary+` if you want the precise numbers. What do you think?


Repository:
  rLLD LLVM Linker

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58599/new/

https://reviews.llvm.org/D58599





More information about the llvm-commits mailing list