
"Hurd, Matthew" <hurdm@sig.com> writes:
On Behalf Of Sean Kelly Subject: Re: [boost] Re: Re: Boost.Thread : IO multiplexing
IOCP works for both file and socket operations. Perhaps not a poll method but I'm not much interested in the low-end solutions anyway.
Small point. Please don't knock the pollster ;-)
Polling trades CPU for latency gain. Polling is a high end solution for low latency requirements, which covers a lot of my issues (not the psychological ones though ;-)). Not so good for high throughput systems, but it can be. A combined approach, poll for a while you can then wait for an interrupt ( a bit like spin-locks ), can be especially beneficial for supercomputer oriented frameworks as plenty of research shows.
While poll(2), like select(2), is indeed rather inefficient on many platforms, other polling mechanisms, such as epoll, kqueue, and /dev/poll can scale quite well. On Windows platforms, I think it is clear that asynchronous I/O is almost always more efficient than polling, and I believe Sean Kelly, in recommending against polling, was referring exclusively to Windows platforms.
[snip]
-- Jeremy Maitin-Shepard