Boost logo

Boost :

Subject: Re: [boost] [msm] Boost MPL vector limit size exceeded
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2010-09-01 16:34:13


>> I personally defined myself headers up to 100. It's pretty easy actually.
> Can you provide us the files that we don't have to do it ? We did it for 60 now.

Sure (provided this is not rejected). I tried with 1.42.

> We have problems that the compiler runs out of heap if we include too
> many transitions as well.

Juraj told me not long ago (but too late to make it into the 1.44 doc)
that specifying LESS heap for VC (I think it is the Zm option)
actually works better than increasing it.
You could try it and see if that helps.

> But our state machines are complex in our interfaces we have over 100
> different events.
> We have several main state machines whit 3 level deep substate
> machines and around 10 substate machines altogether at the moment,
> but actually as our feature list is growing with the current design
> we are planning to add more and more substate machines to the system.
> So we run out of 50 transitions in the main state machine pretty fast.:(.
>
> If we would split the implementation to several main sate machines we
> would loose the nice features we gain with hierarchical approach.
>
> Is it not possible to use favor_compile_time feature or something
> similar as described in
> http://www.boost.org/doc/libs/1_44_0/libs/msm/doc/HTML/ch03s05.html#d0e3642
> to avoid using the performance improvement and have the substate
> machines to dispatch all events again in them this would allow as to
> continue with our implementation because none of our transaction table
> contains more than 50 entries alone.

Yes, it would work but I think I remember you mentioning boost::any
not being an option. If boost::any and the performance loss are
acceptable for you then it would probably help.

Regards,
Christophe




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