facebookincubator / dispenso

The project provides high-performance concurrency, enabling highly parallel computation.
MIT License
185 stars 29 forks source link

[Feature Request]: comparison to taskflow #37

Open andre-nguyen opened 4 days ago

andre-nguyen commented 4 days ago

Contact Details

No response

What is the desired feature?

How does Dispenso compare to taskflow? https://github.com/taskflow/taskflow

Can this answer be documented in the reader?

Code of Conduct

graphicsMan commented 3 days ago

Hi Andre. I'd be happy to do that. Do you want an overall comparison, or limited to e.g. parallel_for and task graph execution? I'm frankly not that knowledgeable about all of TaskFlow's capabilities, but a comparison with parallel_for and task graph execution should be pretty doable (just a matter of finding time to add TaskFlow to my parallel_for benchmarks)

andre-nguyen commented 3 days ago

Oh I wasn't thinking anything in depth like a benchmark, although if you ever find time that would be nice to look at. I was thinking an overview of features and potentially tradeoffs made by each library. At first glance I thought the libraries were doing very similar things, so I'm interested in getting your take on the overall difference.

graphicsMan commented 2 days ago

Definitely some overlap in functionality, and some differences. I'd like to work with more than just the task graph API before making any claims in comparison (likely I'll do this by implementing TaskFlow into some of the relevant benchmarks). I won't have time to do this until closer to the holidays, but I'd be happy to take contributions adding TaskFlow to any relevant benchmarks (I'd say the pool benchmarks, pipeline, (nested|simple)parallel_for at the least)