Boost logo

Boost :

Subject: Re: [boost] [review] Multiprecision review scheduled for June 8th - 17th, 2012
From: John Maddock (boost.regex_at_[hidden])
Date: 2012-06-05 06:22:44


>>> * How the performances of mp_number<this_trivial_adaptor<float>, false>
>>> will compare with float?
>> No idea, might be interesting to find out, will investigate.
> I never tested it yet. It interests me as well for my research
> in generic numeric programming.
>
>
>Let us know as soon as you have some results.

Tested the time taken to run through all the Boost.Math Bessel function
tests, with type double, real_concept (a simple wrapper around double from
Boost.Math's test suite) and mp_number<float_backend<double> > (a trivial
mp_number backend that wraps a floating point type):

Time for double = 0.0157549 seconds
Time for real_concept = 0.0166421 seconds
Time for float_backend<double> = 0.0408635 seconds
Time for float_backend<double> - no expression templates = 0.0253047 seconds

So as you can see, expression templates are a dis-optimization for such
simple types, and even without them you take a noticeable hit: I'm a little
disappointed by this, but not that surprised, mp_number is a rather
heavyweight solution for lightweight types if you see what I mean.

In any case I'll have a look at the assembly to see if there are any obvious
non-optimizations going on.

John.


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