-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added AsyncBatchedExecutor for execute tasks in parallel with batch constraints #117
Conversation
PR has 12-month old commits. I think that the same behavior can be achieved with Parallel.ForEachAsync from .NET standard library. |
Yes I know about Parallel.ForEachAsync, but Parallel.ForEachAsync realization uses locks, in opposite this realization is lock free. |
But changes in files show correct. Can I squash this commits? |
No, you need to pick only required changes and repeat them on top of develop branch. All these commits are from master branch. |
Ok, thanks. I will try it later. |
@Tassadar2499 , I think that lock-free nature of the proposed implementation is a bit incorrect.
Total time for each batch is Max(t(I1),... t(In)). Thus, the total processing time is 20+25=45ms Now execution steps of
As you can see,
|
Added AsyncBatchedExecutor for execute tasks in parallel with batch constraints. Maybe you will find a better way for modify this algo. I will really appreciate your help with review this code. Yes I know about Parallel.ForEachAsync, but Parallel.ForEachAsync realization uses locks, in opposite my realization is lock free.