Hi Richard,

On 11 Oct 2016, at 15:11, [email protected] wrote:

     shared_plain<double> result(a.begin(), a.end());

eventually, that results in calling std::uninitialized_copy. This has a significant overhead compared to std::copy which could be used here for simple types such as integers and doubles, probably resulting in another big boost. This could be done with hairy template specialisations I guess but not sure it’s worth the sweat!!