-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
State container #783
State container #783
Conversation
@rogeralsing I like this, nice and simple and easy to follow. |
So, anyone else had a look at this? |
I have not - will take a look after .NET Fringe craziness settles down on Tuesday |
So if I understand this correctly... |
The ChildContainer stuff is separate from this PR. Anyway, the Many actors never leave this state, they might be workers that never use But if they are, they will transition to use the Does that make sense? |
Ok, in that case then I think we should merge it in and get the memory footprint down. |
Implemented Default State container for smaller memory footprint Added support for receive in the state containers. Updated actor state support with documentation and separate file
@rogeralsing merge when you're set |
This PR is much like @HCanber's #766
It's for review and memory footprint optimization.
In this PR, the state found in
ActorCell.DeathWatch.cs
+ the_behaviorStack
has been abstracted out to a state container that by default only holds aWatchedBy
, that is, it's parent.All other state is lazily allocated if the actor needs more than that initial state.
The actor size have now gone from 1334 bytes to 1144, which is about 16% less memory per actor.
Thoughts on this?