Skip to content

Version 1.4.0

Choose a tag to compare

@jhickson jhickson released this 08 Feb 18:56
fc37902

This release incorporates a simplification of the codebase with the aim of improving performance and eliminating long-standing bugs.

It also introduces explicit support for NET Standard 2.0.

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.

In detail:

  • 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.