This is the mail archive of the
mailing list for the GCC project.
Re: more on the C++ abstraction penalty
- To: Joe Buck <jbuck at racerx dot synopsys dot com>
- Subject: Re: more on the C++ abstraction penalty
- From: Gabriel Dos Reis <gdr at codesourcery dot com>
- Date: 08 Nov 2000 03:25:12 +0100
- Cc: gdr at codesourcery dot com (Gabriel Dos Reis), gcc at gcc dot gnu dot org
- Organization: CodeSourcery, LLC
- References: <200011072312.PAA04433@racerx.synopsys.com>
Joe Buck <email@example.com> writes:
| I wrote:
| > | gcc 2.95.2 does very well on the Stepanov abstraction penalty benchmark.
| > | This is misleading. The reason is that every "abstract object" in the
| > | Stepanov test is reference to a builtin type or a one-element struct,
| > | and these are handled very nicely by a special optimization we've been
| > | calling ADDRESSOF.
| > [...]
| > | We should be able to get huge performance gains for a lot of C++ code with
| > | this kind of mechanism.
| Your editing here might unintentionally suggest that "this kind of
| mechanism" was referring to ADDRESSOF.
Thanks for pointing out that: actually I was thinking about your two
suggested transformations in addition of fixing ADDRESSOF in order to
reduce the C++ abstraction penalties.
| Gaby writes:
| > All these sound reasonable and should have been retained as release
| > criteria.
| The release criteria currently only specify nonregression against 2.95.2,
| it would suffice to just get ADDRESSOF working again to meet them (current
| snapshots are not releasable for this reason). The extra pass on the
| trees would be an improvement, and not that hard to implement.
I understand all that. But I don't know where the border line should
be drawn before branching for GCC-3.0 release. That is the release
manager's call. I can just give my personal opinion -- but I should
also keep in mind that we need to get GCC-3.0 out not too late.
CodeSourcery, LLC http://www.codesourcery.com