Boost logo

Boost :

Subject: Re: [boost] Outcome v2
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2017-07-13 18:25:24


On Thu, Jul 13, 2017 at 3:12 AM, Niall Douglas via Boost <
boost_at_[hidden]> wrote:

> >> A majority of peer review feedback didn't see the need for variant
> >> storage. Eliminating it very significantly reduces the complexity of the
> >> implementation, it's a big gain. I was able to SFINAE all the
> >> constructors because of the compile time budget released by eliminating
> >> the variant storage.
> >
> > If you're going to maintain strict no-value-plus-error semantics then
> > union/variant storage makes sense, as otherwise you're wasting memory.
> > I'm not sure why this would increase complexity.
>
> I did some benchmarking before making the change to non-variant storage,
> and found a worst case performance loss of 3-6% depending on compiler.
>

Would you be willing to share some of these benchmarks? I've never
benchmarked Noexcept, it would be interesting to see how it compares.


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