[PATCH] D74169: [WIP][LLD][ELF][DebugInfo] Remove obsolete debug info.

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 19 06:25:00 PDT 2020


avl added a comment.

@benesch Thank you for the interest in this patch and the statistics data.

> Unfortunately there is also a massive blowup in link times, from 10s to 250s. That's a 25x increase, much larger than the link time increase for Clang described above, which was about 4x.

Excuse me. It looks like my reported statistic is not very accurate. I would re-measure it and re-submit.
There are two things here: first is that reported numbers are for the patch, which I did not update(because of some bug). And another is that calculations are not accurate. I have just updated the patch. Following is what I got for clang:

/usr/bin/time -f "%E %M" bin/clang-11
0:11.62 9509308

/usr/bin/time -f "%E %M" bin/clang-11 --gc-debuginfo
1:15.16 15346672

i.e. it is about 6.5x, not 25x. I would also check the numbers for the updated patch and for your materialize project. Probably, it might be quite close since .text section takes 7.5% of entire binary in clang.
Thank you.

> The new binary is 40% of the size of the original. Some of that savings is from omitting debug_pubtypes and debug_pubnames, which is easy enough to strip without this patch

The reason why debug_pubtypes and debug_pubnames were stripped, is that the current patch uses already existed dsymutil code, which does not generate debug_pubtypes and debug_pubnames. This patch changes debug info. Thus it removes other debug info tables, which it does not support(since they most probably would contain no relevant data). Supporting all these tables(as well as DWARF5) is a future task for the DWARFLinker.


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

https://reviews.llvm.org/D74169





More information about the llvm-commits mailing list