What is the difference between TPL dataflow and Akka.net?

Akka is an actor based model, and so is TPL Dataflow. As the latter is described as "This dataflow model promotes actor-based programming by providing in-process message passing for coarse-grained dataflow and pipelining tasks." I think there should be an emphasis on in-process, as Akka allows you to create remote actors, which don't necessarily reside inside the same process.


I have found a piece of interesting information related to the comparison of Akka.NET and TPL Dataflow, which both are actor-based:

http://blog.i3arnon.com/2016/05/23/tpl-dataflow/

For actor model have you checked out Akka.net? It is a port of the Akka framework from Java\Scala that seems to have built up a pretty strong community. Just curious how TPL Dataflow compares?

I've actually talked about it with one of the owners, Aaron Stannard, at .NET Fringe. He said their initial implementation actually used TPL Dataflow underneath. I think TPL Dataflow is more of a library while AKKA.NET is a framework. TPL Dataflow is for in-process pipelines while AKKA is a distributed system infrastructure though they share the same mindset.

Aaron is the co-founder and CTO of Petabridge, as well as the co-founder of the Akka.NET open-source project.