|
Boost : |
From: Joel de Guzman (djowel_at_[hidden])
Date: 2002-10-22 18:30:42
----- Original Message -----
From: "Andrei Alexandrescu" <andrewalex_at_[hidden]>
> That's way cool, Davem thanks on behalf of everyone.
>
> Conclusions (to my happiness, 100% as I predicted):
>
> 1. URVO is much more widespread than NRVO.
>
> 2. Who's doing NRVO already has URVO in their pocket: no compiler above does
> a better job with the named value than with the unnamed value.
>
> 3. Not everybody does URVO.
>
> So a "portable efficiency" hierachy would be:
>
> 1. If you want 100% portable efficiency, mojo is the way. See
> http://moderncppdesign.com/mojo.
>
> 2. If you want largely portable efficiency, use URVO. When you need to
> return lvalues, transform them into temporaries as per my previous post or
> as per RETURN_LVALUE described in http://moderncppdesign.com/mojo/old.
>
> 3. If you don't care about portability, apply your compiler's optimization
> by using the exact idioms they favor.
Let's have mojo in boost! I want 'em, I need 'em!
--Joel
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk