Sink<TIn, Task> ForEach<TIn>(Action<TIn> action)
asynccreates a task where your exception is thrown and simply "returns" a failed tasked, but maybe the compiler is smart enough to reduce it to a simple action since you don't await anything
The simple answer is: millions - the pure actor overhead is several hundred of bytes. This doesn't count any sort of logic and state you're keeping inside them. But if you want some more advanced features, like persistence, this will require additional memory per actor + time spend on recovery/store process, which is heavily dependent on the actual persistence provider you're using - usually this is the major limiting issue aside of the hardware requirements.
I'm new with Akka.NET streams and I'm experiencing a strange behavior. I try to implement parallelism on a part of a Akka.NET Stream using a Balancer stage and a Merge stage. The strange behaviour is that I am not getting any speed increase in the processing of the stream. My impression is that it does not spawn multiple threads (one for each parallel path) as I had expected.
Can you please give me a hint if there is some configuration settings that I'm missing?