more on the C++ abstraction penalty
Gabriel Dos Reis
gdr@codesourcery.com
Tue Nov 7 18:24:00 GMT 2000
Joe Buck <jbuck@racerx.synopsys.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.
-- Gaby
CodeSourcery, LLC http://www.codesourcery.com
More information about the Gcc
mailing list