Skip to content
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

Create a performance benchmark for FSM #2560

Closed
alexvaluyskiy opened this issue Mar 18, 2017 · 1 comment
Closed

Create a performance benchmark for FSM #2560

alexvaluyskiy opened this issue Mar 18, 2017 · 1 comment

Comments

@alexvaluyskiy
Copy link
Contributor

alexvaluyskiy commented Mar 18, 2017

Akka.NET uses FSM actor in a many places, like remoting, persistence, cluster singleton. It is like one of the most important primitives. We should know how fast it is, and how many allocations it produces.
The benchmark should test the actor throughput in a combination with different state changes

https://gist.github.com/alexvaluyskiy/6824137919369061fec5fe2882148fa7

@alexvaluyskiy
Copy link
Contributor Author

alexvaluyskiy commented Mar 19, 2017

Memory Footprint test
fsmallocations1

Throughput test
fsmallocations2

@alexvaluyskiy alexvaluyskiy added this to the 1.4.0 milestone Jul 22, 2017
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.0, 1.4.1 and Later Feb 11, 2020
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.2, 1.4.3, 1.4.4 Mar 13, 2020
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.4, 1.4.5 Mar 31, 2020
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.5, 1.4.6 Apr 29, 2020
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.6, 1.4.7 May 12, 2020
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.7, 1.4.8 May 26, 2020
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.8, 1.4.9 Jun 17, 2020
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.9, 1.4.10 Jul 21, 2020
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.10, 1.4.11 Aug 20, 2020
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.11, 1.4.12 Nov 5, 2020
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.12, 1.4.13 Nov 16, 2020
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.13, 1.4.14 Dec 16, 2020
@Aaronontheweb Aaronontheweb added this to the 1.4.28 milestone Oct 11, 2021
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.28, 1.4.29 Nov 10, 2021
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.29, 1.4.30 Dec 13, 2021
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.30, 1.4.32 Dec 20, 2021
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.32, 1.4.33 Jan 18, 2022
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.33, 1.4.34 Feb 14, 2022
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.34, 1.4.35 Mar 7, 2022
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.35, 1.4.36 Mar 18, 2022
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.36, 1.4.40 Jun 7, 2022
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.40, 1.4.41 Jul 27, 2022
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.41, 1.4.42 Sep 7, 2022
@Aaronontheweb Aaronontheweb modified the milestones: 1.4.42, 1.4.44 Sep 28, 2022
Aaronontheweb added a commit to Aaronontheweb/akka.net that referenced this issue Oct 5, 2022
Aaronontheweb added a commit that referenced this issue Oct 7, 2022
* close #2560 - added performance benchmarks for FSM

* Improved FSM memory consumption

* Made `Event` a `readonly struct`
* Eliminated unnecessary `List<object>` allocations
* Cleaned up XML-DOC comments

* don't return new `State<TState, TData>` during `Stay()`

* API approvals

* fixed `State<TS.,TD>` errors
Aaronontheweb added a commit to Aaronontheweb/akka.net that referenced this issue Oct 8, 2022
Aaronontheweb added a commit to Aaronontheweb/akka.net that referenced this issue Oct 8, 2022
* close akkadotnet#2560 - added performance benchmarks for FSM

* Improved FSM memory consumption

* Made `Event` a `readonly struct`
* Eliminated unnecessary `List<object>` allocations
* Cleaned up XML-DOC comments

* don't return new `State<TState, TData>` during `Stay()`

* API approvals

* fixed `State<TS.,TD>` errors
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants