Boost logo

Boost :

Subject: Re: [boost] [Boost-users] [afio] Formal review of Boost.AFIO
From: Jason Roehm (jasonr_at_[hidden])
Date: 2015-08-25 10:50:55


On 08/25/2015 10:47 AM, Niall Douglas wrote:
>>>> I'm still unsure what "51 opcodes <= Value transport <= 32 opcodes" is
>>>> supposed to mean.
>>> Min/max code bloat for a monad<int> or future<int>.
>> So the minimum is 51 and the maximum is 32?
> Correct. That non-sensical outcome is due to definition. The minimum
> code bloat _should_ result from a known-memory outcome where the
> compiler knows for a fact memory has some value, and therefore can
> prune branching down to no code output at all. The maximum code bloat
> is where memory has unknown state, and therefore the compiler must
> generate all possible branches for that unknown state.
>
> Compiler optimisers are not as deterministic as perhaps they should
> be, so you get this weird outcome where the compiler generates more
> bloat for the known case than the unknown case. Which is a compiler
> optimiser bug, strictly speaking.

Niall,

I don't want to wade into the lively discussion on your review, but I
think the confusion is coming from the fact that the inequality signs
are in the wrong direction. It says that the time taken by the transport
is at least 51 instructions but at most 32. I believe that's all that is
being questioned here.

Good luck with the review. I will almost certainly never use it, but it
looks like a neat library.

Jason


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