clayborg added a comment.
Any std::async adoption will need to be able to deliver tasks as they complete
via "TaskRunner<T>::WaitForNextCompletedTask()".
We had a previous example where 1000 items could be pushed onto a std::vector
of tasks and then the code was doing:
for (i=0; i<tasks.size(); ++i)
tasks[i].wait();
This means that if the first of 1000 jobs took 100 seconds, but the other 999
took 0.1 seconds each, then it would stall the pipeline waiting for the first
one to complete. I want to make sure we can do:
while (auto future = task_runner. WaitForNextCompletedTask())
{
}
So we can process the items as needed as they complete. So as long as we can
still do this with the implementation we use I will be happy.
http://reviews.llvm.org/D13727
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits