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.