Boost logo

Boost :

From: Joerg Walter (jhr.walter_at_[hidden])
Date: 2002-06-26 14:44:23


----- Original Message -----
From: "David Abrahams" <david.abrahams_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Wednesday, June 26, 2002 9:23 PM
Subject: Re: [boost] uBLAS performance problem with CodeWarrior 8

>
> From: "Joerg Walter" <jhr.walter_at_[hidden]>
>
> > > I think I'd much prefer using expression
> > > templates always, even in (otherwise) debug builds...
> >
> > Why? AFAIK using expression templates in debug builds increases compile
> > times and object file size (but I'll recheck that).
>
> Because the semantics could change in some cases, e.g.:
>
> x = f(a + b + c);
>
> If f is a function template, the deduced argument type will be different
> when ETs are enabled, which could have consequences that are
> hard-to-predict.

Ahh, yes.

> I do nearly all of my testing against debug builds, and I
> don't want to be surprised when I switch to release. I trust the compiler
> to preserve semantics when I change optimization settings, but getting an
> expression instead of a matrix in some generic function might be too big a
> jump for me to tolerate.

Yes, if f<> doesn't have the correct signature, there could arise severe
problems.

> Just personal preference; I have no problems with the defaults you chose,
> though I would like it if you would issue a suitable warning about the
> pitfalls in the documentation.

Thanks for the useful hint

Joerg


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk