I might as well start contributing to this project.
But that is still more than 8 times slower than GAM.
The reason for Akka.NET (and JVM Akka) having trouble in this area is that every message comes with a sender ActorRef that needs to be resolved. even if the target doesn't touch that ActorRef. The serialization mechanism there is also a lot more complicated.
Releasing Helios 2.0 today, which is a big improvement over the previous version.
Stress test results across 350 connections (ramped up over a 3-5 minutes, each connection doing 250 msg / s): https://gist.github.com/Aaronontheweb/ab3ae953239de81752c357...
Also includes 1 million message throughput tests for duplex and inbound-only receive. On the inbound side we peak out at about 250k / s on a single connection. Write side is slower at the moment due to lack of batching on flush, but that'll be fixed.
https://github.com/rogeralsing/gam/issues?q=is%3Aissue+is%3A...
https://en.wikipedia.org/wiki/Globally_asynchronous_locally_...
Quick question on your sample codes, if actor is capable of receiving async messages, then channel is basically redundant, right?
What is the use case on using both, it looks like I can consume messages directly from the actor. I am not clear on that.