Akka.Serialization.Hyperion 1.4.21-beta1
Hyperion serializer for Akka.NET
No packages depend on Akka.Serialization.Hyperion.
Maintenance Release for Akka.NET 1.4**
Akka.NET v1.4.21 is a significant release that includes major performance improvements, bug fixes, and a major update to the [Akka.DependencyInjection NuGet package](https://getakka.net/articles/actors/dependency-injection.html).
Performance Improvements**
Akka.NET v1.4.21 includes some major performance fixes and improvements:
[`Ask` is now ~10% faster](https://github.com/akkadotnet/akka.net/pull/5051)
[`MurmurHash` is 33% faster and allocates 0 memory](https://github.com/akkadotnet/akka.net/pull/5028) - used _heavily_ in DData, Cluster Sharding, and Consistent Hash Routers
`ActorPath.Parse` went from 1672 ns/op to 527 ns/op - a 68% improvement in throughput and a 50% reduction in memory. See [#5039](https://github.com/akkadotnet/akka.net/pull/5039) and [#5068](https://github.com/akkadotnet/akka.net/pull/5068).
[Akka.Remote: remove `ActorPath.ToString` call from `ResolveActorRefWithLocalAddress`](https://github.com/akkadotnet/akka.net/pull/5034)
Important**: [Revert `ThreadPool.SetMinThreads(0,0)`](https://github.com/akkadotnet/akka.net/pull/5059) - based on the input from users on "[Akka.NET v1.4.19: ChannelExecutor performance data](https://github.com/akkadotnet/akka.net/discussions/4983)"
Our observed performance numbers for Akka.Remote show a significant increase in performance for v1.4.21 over v1.4.20:
Before*
```
PS> dotnet run -c Release --framework netcoreapp3.1
OSVersion: Microsoft Windows NT 6.2.9200.0
ProcessorCount: 16
ClockSpeed: 0 MHZ
Actor Count: 32
Messages sent/received per client: 200000 (2e5)
Is Server GC: True
Thread count: 109
Num clients, Total [msg], Msgs/sec, Total [ms]
1, 200000, 113379, 1764.56
5, 1000000, 186429, 5364.05
10, 2000000, 185340, 10791.11
15, 3000000, 183218, 16374.06
20, 4000000, 179824, 22244.63
25, 5000000, 182716, 27365.89
30, 6000000, 182039, 32960.61
```
After*
```
PS> dotnet run -c Release --framework netcoreapp3.1
OSVersion: Microsoft Windows NT 6.2.9200.0
ProcessorCount: 16
ClockSpeed: 0 MHZ
Actor Count: 32
Messages sent/received per client: 200000 (2e5)
Is Server GC: True
Thread count: 111
Num clients, Total [msg], Msgs/sec, Total [ms]
1, 200000, 109770, 1822.14
5, 1000000, 192902, 5184.79
10, 2000000, 191663, 10435.53
15, 3000000, 191339, 15679.11
20, 4000000, 192725, 20755.78
25, 5000000, 189754, 26350.14
30, 6000000, 189772, 31617.20
```
> N.B. these after numbers don't benefit from the performance benefits we observed in v1.4.20 when we invoked `ThreadPool.SetMinThreads(0,0)`, which makes them even more impressive.
Akka.DependencyInjection Updates**
We had one major issue we implemented in v1.4.21 for Akka.DependencyInjection: [Abstraction of `ServiceProvider`, Improving Akka.DependencyInjection ](https://github.com/akkadotnet/akka.net/pull/4814)
What this change did was:
Deprecate the `Akka.DependencyInjection.ServiceProvider` class in favor of the `Akka.DependencyInjection.DependencyResolver` class - to avoid namespace collision with Microsoft.Extensions.DependencyInjection.ServiceProvider;
Deprecates the `Akka.DependencyInjection.ServiceProviderSetup` class in favor of the `Akka.DependencyInjection.DependencyResolverSetup` class for consistency reasons;
`Akka.DependencyInjection.DependencyResolver` now takes an input of type [`IDependencyResolver`](https://getakka.net/api/Akka.DependencyInjection.IDependencyResolver.html), which allows users to abstract away the `IServiceProvider` and mock / replace it during unit testing; and
Added some non-generic `Props` methods for dynamically spawning actors via DI.
All of these changes are backwards-compatible with v1.4.20 and earlier - and the deprecation warnings will appear in your code when you upgrade. If you run into any [issues upgrading to Akka.DependencyInjection v1.4.21 please reply on this thread](https://github.com/akkadotnet/akka.net/discussions/5070)!
Other Changes and Fixes**
[Akka.Streams: A couple of fixes affecting the `FileSubscriber`](https://github.com/akkadotnet/akka.net/pull/5035)
[Akka.DistributedData: memory leak when recovering events from LMDB data store](https://github.com/akkadotnet/akka.net/issues/5022)
[Akka.DistributedData: port `VectorClock` performance optimizations to `VersionVector` and similar types](https://github.com/akkadotnet/akka.net/issues/4956)
To see the [full set of fixes in Akka.NET v1.4.21, please see the milestone on Github](https://github.com/akkadotnet/akka.net/milestone/51).
| COMMITS | LOC+ | LOC- | AUTHOR |
| --- | --- | --- | --- |
| 12 | 999 | 160 | Aaron Stannard |
| 10 | 410 | 299 | Gregorius Soedharmo |
| 4 | 853 | 520 | Ismael Hamed |
| 4 | 5 | 5 | dependabot[bot] |
| 1 | 6 | 2 | Brah McDude |
| 1 | 428 | 67 | Sam Ember |
| 1 | 1 | 1 | Martin |
.NET Standard 2.0
- Akka (>= 1.4.21-beta1)
- Hyperion (>= 0.10.1)
- System.Reflection (>= 4.3.0)
- System.Runtime (>= 4.3.1)
Version | Downloads | Last updated |
---|---|---|
1.5.31 | 2 | 11/17/2024 |
1.5.30 | 6 | 10/03/2024 |
1.5.29 | 3 | 10/03/2024 |
1.5.28 | 3 | 10/01/2024 |
1.5.28-beta1 | 6 | 08/24/2024 |
1.5.27.1 | 1 | 07/28/2024 |
1.5.27 | 3 | 07/25/2024 |
1.5.27-beta2 | 7 | 07/04/2024 |
1.5.27-beta1 | 1 | 07/04/2024 |
1.5.26 | 18 | 06/28/2024 |
1.5.25 | 26 | 06/19/2024 |
1.5.24 | 2 | 06/08/2024 |
1.5.23 | 4 | 06/07/2024 |
1.5.22 | 5 | 06/05/2024 |
1.5.21 | 19 | 05/31/2024 |
1.5.20 | 2 | 05/16/2024 |
1.5.19 | 2 | 05/16/2024 |
1.5.18 | 10 | 03/13/2024 |
1.5.17.1 | 11 | 03/08/2024 |
1.5.17 | 9 | 03/08/2024 |
1.5.16 | 5 | 02/14/2024 |
1.5.15 | 5 | 01/11/2024 |
1.5.14 | 5 | 01/06/2024 |
1.5.13 | 18 | 09/25/2023 |
1.5.13-beta1 | 5 | 02/14/2024 |
1.5.12 | 2 | 02/15/2024 |
1.5.11 | 3 | 08/30/2023 |
1.5.10 | 6 | 08/31/2023 |
1.5.9 | 6 | 08/30/2023 |
1.5.8 | 5 | 08/29/2023 |
1.5.7 | 4 | 06/11/2023 |
1.5.6 | 4 | 06/13/2023 |
1.5.5 | 4 | 06/12/2023 |
1.5.4 | 6 | 06/13/2023 |
1.5.3 | 5 | 06/11/2023 |
1.5.2 | 4 | 06/12/2023 |
1.5.1 | 7 | 06/12/2023 |
1.5.0 | 3 | 06/13/2023 |
1.5.0-beta6 | 6 | 09/03/2023 |
1.5.0-beta5 | 5 | 02/15/2024 |
1.5.0-beta4 | 5 | 02/15/2024 |
1.5.0-beta3 | 3 | 10/15/2023 |
1.5.0-beta2 | 3 | 02/15/2024 |
1.5.0-beta1 | 3 | 10/18/2023 |
1.5.0-alpha4 | 7 | 02/15/2024 |
1.5.0-alpha3 | 4 | 02/15/2024 |
1.5.0-alpha2 | 7 | 02/15/2024 |
1.5.0-alpha1 | 5 | 02/15/2024 |
1.4.51 | 4 | 08/31/2023 |
1.4.50 | 3 | 02/15/2024 |
1.4.49 | 3 | 05/07/2023 |
1.4.49-beta1 | 5 | 02/15/2024 |
1.4.48 | 5 | 02/15/2024 |
1.4.47 | 4 | 03/20/2024 |
1.4.46 | 3 | 02/15/2024 |
1.4.45 | 3 | 02/15/2024 |
1.4.44 | 5 | 02/15/2024 |
1.4.43 | 6 | 10/04/2023 |
1.4.42 | 3 | 02/15/2024 |
1.4.41 | 3 | 02/15/2024 |
1.4.40 | 7 | 02/15/2024 |
1.4.39 | 6 | 02/15/2024 |
1.4.38 | 3 | 02/15/2024 |
1.4.37 | 4 | 02/15/2024 |
1.4.36 | 5 | 02/15/2024 |
1.4.35 | 15 | 02/02/2023 |
1.4.34 | 4 | 02/15/2024 |
1.4.33 | 5 | 02/15/2024 |
1.4.32 | 3 | 02/15/2024 |
1.4.31 | 14 | 07/21/2022 |
1.4.30 | 3 | 02/15/2024 |
1.4.29 | 3 | 02/15/2024 |
1.4.28 | 3 | 02/15/2024 |
1.4.27 | 4 | 02/15/2024 |
1.4.26 | 2 | 02/15/2024 |
1.4.25 | 5 | 02/15/2024 |
1.4.24 | 5 | 02/15/2024 |
1.4.23 | 2 | 03/20/2024 |
1.4.22 | 4 | 02/15/2024 |
1.4.21 | 1 | 03/20/2024 |
1.4.21-beta1 | 8 | 12/12/2023 |
1.4.20 | 3 | 02/15/2024 |
1.4.19 | 3 | 02/15/2024 |
1.4.18 | 5 | 02/15/2024 |
1.4.17 | 3 | 02/15/2024 |
1.4.16 | 3 | 03/20/2024 |
1.4.15 | 4 | 02/15/2024 |
1.4.14 | 3 | 01/12/2024 |
1.4.13 | 3 | 02/15/2024 |
1.4.12 | 4 | 02/15/2024 |
1.4.11 | 3 | 02/15/2024 |
1.4.10 | 5 | 02/15/2024 |
1.4.9 | 3 | 06/14/2023 |
1.4.8 | 4 | 06/13/2023 |
1.4.7 | 24 | 06/12/2023 |
1.4.6 | 4 | 06/12/2023 |
1.4.5 | 5 | 06/14/2023 |
1.4.4 | 4 | 06/12/2023 |
1.4.3 | 6 | 06/13/2023 |
1.4.2 | 4 | 06/12/2023 |
1.4.1-rc3 | 2 | 01/19/2024 |
1.4.1-rc2 | 4 | 09/01/2023 |
1.4.1-rc1 | 4 | 02/15/2024 |
1.4.1-beta | 2 | 03/20/2024 |
1.4.0-beta4 | 2 | 02/15/2024 |
1.4.0-beta3 | 4 | 02/15/2024 |
1.4.0-beta2 | 6 | 03/20/2024 |
1.4.0-beta1 | 6 | 05/18/2023 |
1.4.0-beta | 9 | 02/15/2024 |
1.3.19-beta | 7 | 05/16/2024 |
1.3.18-beta | 7 | 02/15/2024 |
1.3.17-beta | 5 | 02/15/2024 |
1.3.16-beta | 6 | 02/15/2024 |
1.3.15-beta | 7 | 02/15/2024 |
1.3.14-beta | 7 | 10/18/2023 |
1.3.13-beta | 9 | 02/15/2024 |
1.3.12-beta | 6 | 02/15/2024 |
1.3.11-beta | 9 | 02/15/2024 |
1.3.10-beta | 6 | 02/15/2024 |
1.3.9-beta68 | 6 | 02/15/2024 |
1.3.9-beta67 | 8 | 02/15/2024 |
1.3.9-beta | 10 | 10/18/2023 |
1.3.8-beta66 | 9 | 05/18/2023 |
1.3.8-beta65 | 8 | 09/03/2023 |
1.3.7-beta64 | 9 | 02/15/2024 |
1.3.7-beta63 | 7 | 10/19/2023 |
1.3.6-beta62 | 5 | 03/20/2024 |
1.3.6-beta61 | 8 | 02/15/2024 |
1.3.5-beta60 | 6 | 02/15/2024 |
1.3.5-beta59 | 7 | 02/15/2024 |
1.3.4-beta58 | 6 | 02/15/2024 |
1.3.4-beta57 | 6 | 02/15/2024 |
1.3.3-beta56 | 5 | 02/15/2024 |
1.3.3-beta55 | 7 | 02/15/2024 |
1.3.2-beta54 | 8 | 03/20/2024 |
1.3.2-beta53 | 9 | 05/18/2023 |
1.3.2-beta | 9 | 09/03/2023 |
1.3.1-beta52 | 11 | 02/15/2024 |
1.3.1-beta51 | 10 | 10/16/2023 |
1.3.0-beta50 | 8 | 03/20/2024 |
1.3.0-beta48 | 8 | 09/03/2023 |
1.3.0-beta47 | 7 | 02/15/2024 |
1.3.0-beta46 | 10 | 02/15/2024 |
1.2.3.43-beta | 8 | 02/15/2024 |
1.2.3.41-beta | 7 | 02/15/2024 |
1.2.2.40-beta | 9 | 02/15/2024 |
1.2.2.39-beta | 9 | 02/15/2024 |
1.2.1.38-beta | 11 | 02/15/2024 |
1.2.1.37-beta | 8 | 10/12/2023 |
1.2.0.36-beta | 7 | 02/15/2024 |
1.2.0.35-beta | 8 | 02/15/2024 |
1.2.0.34-beta | 7 | 02/15/2024 |
1.2.0.33-beta | 9 | 02/15/2024 |
1.1.3.32-beta | 7 | 01/22/2024 |
1.1.3.31-beta | 9 | 02/15/2024 |