This repository was archived by the owner on Jul 29, 2026. It is now read-only.
Tags: wintoncode/Winton.Extensions.Threading.Actor
Tags
Improve actor performance via simplication (#26) Changes related to performance: - Removed state machine in ActorImpl and merged ActorImpl into Actor; - Refined ActorTaskScheduler and the way the kind of task being executed is communicated so that using async state is no longer necessary; - Replaced use of Queue<> in ActorTaskScheduler with something that easily allows putting something at the front, which simplified some logic; - Made use of pause/resume functionality in ActorTaskScheduler to simplify starting an Actor; - Made locking in ActorTaskScheduler more fine-grained; - Used UnsafeQueueUserWorkItem on platforms that support it. Also: - Added NET Standard 2.0 support; - Fixed various long-standing bugs that appeared in edge cases. Overall, the changes made have reduced locking and complexity, which, apart from anything, has made it easier to track down long-standing spurious test failures and bugs. Performance isn't monumentally better but confidence that things are working correctly has been increased somewhat.
PreviousNext