Boost logo

Boost :

Subject: Re: [boost] Phoenix v3 review
From: Sebastian Redl (sebastian.redl_at_[hidden])
Date: 2011-02-26 07:55:38


On 26.02.2011, at 03:02, Joel de Guzman wrote:

> On 2/25/2011 9:38 PM, Mathias Gaunard wrote:
>> On 25/02/2011 14:13, Thomas Heller wrote:
>
>>> Preprocessed phoenix still needs to resolve all the operator overloads.
>>> The other points you mentioned will be reworked.
>>
>> AFAIK, overload resolution is constant-time on all compilers. The compile-time slowdown
>> should only come from parsing a larger amount of code.
>
> I'd love to know if that is a fact. I often wondered about
> this myself.

Overload resolution is O(N + V*A), where N is the number of overloads, V is the number of viable overloads, and A is the number of arguments passed. Note that detecting non-viability of overloads with the wrong number of parameters is very cheap.

Sebastian


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