This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: more on the C++ abstraction penalty


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]