[lld] [lld][ELF] Implement merged .debug_names section. (PR #86508)

via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 25 08:49:40 PDT 2024


cmtice wrote:

> How much does it add to linking time? Also did you measure reduction in section size by any chance?

I did some rough timing measurements on my workstation (no special quiescent environment), linking Clang. In both cases Clang was built with -gpubnames.  In one case I passed --debug_names to the LLD, so it built the merged section; in the other case I didn't pass any special flags to LLD, so it appended the .debug_names sections together (current normal behavior). I linked 5 times in each case and took the average.

Linking Clang without --debug-names flag took, on average,  8.8 seconds.  Linking Clang with  --debug-names took, on average, 13.5 seconds.

The .debug_names section without merging is 0x99f8280 (161448576) bytes.
The .debug_names section WITH merging is 0x72483e0 (119833568) bytes.  

So creating a merged section cost us ~ 5 seconds and saved us ~41.6 MB.  It also saves us ~ 6 seconds in LLDB startup times on Clang.
 

https://github.com/llvm/llvm-project/pull/86508


More information about the llvm-commits mailing list