Skip to content

Commit 4bd3ef9

Browse files
Remove ThreadPool.SetMinThreads(0,0) mention from dispatchers documentation (#5069)
1 parent 15492d0 commit 4bd3ef9

File tree

1 file changed

+1
-4
lines changed

1 file changed

+1
-4
lines changed

docs/articles/actors/dispatchers.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ In Akka.NET v1.4.19 we will be introducing an opt-in feature, the `ChannelExecut
171171

172172
During its initial development and benchmarks, we observed the following:
173173

174-
1. The `ChannelExecutor` tremendously reduced idle CPU and max busy CPU even during peak message throughput, primarily as a result of dynamically shrinking the total `ThreadPool` to only the necessary size. This resolves one of the largest complaints large users of Akka.NET have today. However, **in order for this setting to be effective `ThreadPool.SetMin(0,0)` must also be set**. We are considering doing this inside the `ActorSystem.Create` method, those settings don't work for you you can easily override them by simply calling `ThreadPool.SetMin(yourValue, yourValue)` again after `ActorSystem.Create` has exited.
174+
1. The `ChannelExecutor` tremendously reduced idle CPU and max busy CPU even during peak message throughput, primarily as a result of dynamically shrinking the total `ThreadPool` to only the necessary size. This resolves one of the largest complaints large users of Akka.NET have today.
175175
2. The `ChannelExecutor` actually beat the `ForkJoinDispatcher` and others on performance even in environments like Docker and bare metal on Windows.
176176

177177
> [!NOTE]
@@ -220,9 +220,6 @@ akka.remote.backoff-remote-dispatcher {
220220

221221
This will enable the `ChannelExecutor` to run everywhere and all Akka.NET loads, with the exception of anything you manually allocate onto a `ForkJoinDispatcher` or `PinnedDispatcher`, will be managed by the `ThreadPool`.
222222

223-
> [!IMPORTANT]
224-
> As of Akka.NET v1.4.19, we call `ThreadPool.SetMinThreads(0,0)` inside the `ActorSystem.Create` method as we've found that the default `ThreadPool` minimum values have a negative impact on performance. However, if this causes undesireable side effects for you inside your application you can always override those settings by calling `ThreadPool.SetMinThreads(yourValue, yourValue)` again after you've created your `ActorSystem`.
225-
226223
#### Common Dispatcher Configuration
227224

228225
The following configuration keys are available for any dispatcher configuration:

0 commit comments

Comments
 (0)