On Tue, Aug 24, 2010 at 1:52 AM, Alex Rousskov
<rouss...@measurement-factory.com> wrote:
> It is easy to get HTTP version comparison wrong. I have added a few
> comparison operators. To be efficient, they need to be inlined by the
> compiler so that the following expression does not have to cause
> HttpVersion(1,0) creation and destruction:
>
>    if (request->http_ver <= HttpVersion(1, 0))
>
> I tried to simplify the constructors and the quality comparison operator to
> increase our chances that they will be inlined. Unfortunately, I ran into a
> GCC "feature" which probably explains why we have not written the
> HttpVersion constructor correctly before.
>
> I added a workaround. Should those #undef lines be moved to some
> compatibility file? If yes, which one?

Can't we just name our data fields Major and Minor?
Also, would adding the inline keyword hint the compiler about our
wishes? I guess it wouldn't hurt (it would also probably not help
either, but still..)
Apart from that, +1.

-- 
    /kinkie

Reply via email to