TPL Dataflow (TDF) is a .NET library for building concurrent applications. It promotes actor/agent-oriented designs through primitives for in-process message passing, dataflow, and pipelining. TDF builds upon the TPL (Task Parallel Library) in .NET 4 and integrates with async language support in C#, Visual Basic, and F#. TDF lacks join/merge by key (like SSIS) and time-based windowing (available in Rx).
- MSDN - Dataflow (Task Parallel Library)
- Introduction to TPL Dataflow
- Nuget Gallery - Microsoft TPL Dataflow
Platform: .NET Framework 4.0 / .NET Core / .NET 6
Promotes: actor/agent programming model
Strengths: limiting parallelism (for example reading from disk bound vs. CPU compute bound tasks would be limited differently), data flow via message passing, integration with other .NET libraries like Rx and TPL.
Weaknesses: no data flow merge by key (like SSIS merge operation), and only the most trivial of time windowing (compare BroadcastBlock
with Rx BufferWithTime()
or CEP/StreamInsight windowing operators)