[Dwarf-Discuss] Any real products that do...
chris.quenelle at oracle.com
Sun Oct 23 19:14:29 PDT 2011
On Sunday October 23, at 6:32PM, Jason Molenda wrote:
> On Oct 23, 2011, at 5:35 PM, Chris Quenelle wrote:
>> Well he said "in the debuginfo" but I assume he means "in dwarf".
>> So that would include the linetable as well. The significant bloat
>> for column information is in the line table and it's a very large
>> percentage increase for accurate information. Especially for
>> optimized code.
> Although a typical C++ program these days will have a debug_info around 100x larger than a debug_line (based on a single C++ framework I just checked at random, without type uniquing, compiled by llvm-gcc). I'm sure this 100x number will vary a lot depending on what compiler you pick, whether you unique all the type definitions, which compiler it is, etc., but I don't think the line table is a significant source of bloat in the dwarf these days. If it the size of debug_line doubled to incorporate good column information, I think there are many people who would accept that tradeoff.
I certainly wouldn't hold my wild guess above anyone who was willing to try it and see. :-)
You could make a guess at the impact by looking at the line table for a segment
of code, and extrapolating from that.
I have to agree 100% with the idea that the biggest "dwarf bloat" problem is related
to "debug info". Also note that type info is amenable to forms of commonization, but the
line table is not.
I just wanted to make sure the line table got factored into the equation.
More information about the Dwarf-Discuss