$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Andreas Huber (ahd6974-spamgroupstrap_at_[hidden])
Date: 2005-03-13 08:10:34
> I have extensive recent experience with applying FSM based logic to
> performance important parts of several utilities. But unfortunately I
> did
> not have a time and resources to invest into review for this
> submission. I only read tutorial. I must say it left me .. well ..
> open-mouthed: Why would anyone use solution like this?
I guess because for some people performance is a lot less important than
features and expressiveness. I strongly believe that there is a
sufficiently large class of applications where this library will not
cause any noticeable overhead, which at least some users have confirmed.
> 1. All states are .. well .. stateless. no way to save anything into
> state - it gets destroyed every time
Hierarchical states solve this problem.
> 2. I have to spend time every time on new,
Did you notice that you can overload operator new and delete for all
states?
> constructor, destructor
> for each state
For good reasons (to satisfy the scalability requirements).
> 3. From what I see there is no way it could have constant dispatch
> time (just guess - no real analysis - but I would be really surprised
> if it's not true)
The interface theoretically allows for O(n) dispatch, where n is the
number of orthogonal regions. So, if you don't use orthogonal regions
you get O(1) dispatch. This is not yet implemented though and there are
a few practical problems that need to be cleared first.
> 4. Interface limitations seems unreasonable: why would deferred event
> needs to be supplied as intrusive_ptr?
Have you read the rationale for that?
Regards,
-- Andreas Huber When replying by private email, please remove the words spam and trap from the address shown in the header.