This is the mail archive of the
mailing list for the Archer project.
Re: gcc dwarf2out: Drop the size + performance overhead ofDW_AT_sibling
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: Mark Wielaard <mjw at redhat dot com>
- Cc: Project Archer <archer at sourceware dot org>
- Date: Tue, 18 Oct 2011 11:49:24 +0200
- Subject: Re: gcc dwarf2out: Drop the size + performance overhead ofDW_AT_sibling
- References: <201110170508.p9H581vh028090@shell.devel.redhat.com><20111017133634.GA5677@host1.jankratochvil.net><email@example.com><20111018094457.GB2412@host1.jankratochvil.net>
On Tue, 18 Oct 2011 11:44:57 +0200, Jan Kratochvil wrote:
> The problem is the DIEs skipping by CPU is so cheap on current CPUs it cannot
> be compared with the overhead of providing the helper data for it. I did not
> expect dropping DW_AT_sibling would be even a consumer performance
> _improvement_. I expected more it will be either not measurable or just not
> significant enough for the .debug on-disk sizes cost justification.
maybe it could be worth tune out specific special cases where DW_AT_sibling
skips larger set of DIEs and any of the consumers benefits from that case.
Just at least in the case of GDB there are so many several orders of magnitude
worse performance issues than reading out the CU data that I do not think it
matters much and the on-disk size should be the primary concern even even if
would mean some performance degradation, which will not be much measurable.
It is true systemtap is a different kind of consumer, thanks for pointing it