Boost logo

Boost :

Subject: Re: [boost] [msm] scalability
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2009-12-11 12:19:29


Hi Andy,

>Christophe, I'm sorry if my 2 cents won't be relevant since I'm not very
>familiar with neither MSM

I'm thankful for any help.

>The most common reason for compiler slowliness/crashiness that I've seen
>came from too deep of a template recursion.

Agreed ;-)

>I'm not totally sure, but I
>think that you're using mpl::vector, which, I think, is a form of a type list.

AFAIK, this would be mpl::list. mpl::vector is defined as (for example
for vector4):

template<
      typename T0, typename T1, typename T2, typename T3
>
struct vector4
{
    typedef aux::vector_tag<4> tag;
    typedef vector4 type;
    typedef T0 item0;
    typedef T1 item1;
    typedef T2 item2;
    typedef T3 item3;
...
};

So there is no recursion depth, at least not here. I think the culprit
would more likely be the many mpl::fold.

Thanks,

Christophe


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