Totally cool. Alsing and Stannard did a great work on Akka.NET, and I'm happy to see the OP making inroads into Golang projects. How does the message throughput compare between GAM and Akka.NET?
I might as well start contributing to this project.
Akka.NET suffers from problems with the Helios transport right now, I don't think the Helios transport do more than a few thousand messages per sec ATM.
That being said, there is a new transport coming in Akka.NET 1.5 where we do 100 000 messages per sec in our experiments, so that is a huge improvement.
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.
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.
So I have little real experience with Actor-based programming (although I'm looking into Pony so that might change soon). Are there situations where it would be elegant to combine the two models? I'm aware of, for example, GALS[0] but that isn't quite what differentiates the two approached to concurrency, is it?
https://github.com/rogeralsing/gam/issues?q=is%3Aissue+is%3A...