Boost logo

Boost :

From: Johan Torp (johan.torp_at_[hidden])
Date: 2008-05-30 12:41:40

Anthony Williams-4 wrote:
>> One problem is wait_for_any is not sufficient to implement an efficient
>> scheduler. You have to copy all the futures into wait_for_any so each
>> wait_for_any call is O(N). So something like the future_selecter (should
>> be
>> spelled future_selector?) class I mentioned earlier would still be
>> needed.
> What do you mean by O(N) in this context?
> You have N futures to wait for. You have to somehow register that
> you're waiting for each one => you need O(N) operations.
> I suppose that if one of the futures was already ready, you could skip
> the rest, but that doesn't really strike me as much of an improvement.
> Once it's done registering, wait_for_any then blocks until one of them
> is ready. No polling, just a single wait.
> Could you elaborate on what you were getting at?

I think that it's a common use case to serve or ignore one ready future and
then go back to waiting on the remaining ones. This would requrie O(N^2)
with your interface.


View this message in context:
Sent from the Boost - Dev mailing list archive at

Boost list run by bdawes at, gregod at, cpdaniel at, john at