diff --git a/iocp-links.html b/iocp-links.html index 3a6beb82..c2d828e9 100644 --- a/iocp-links.html +++ b/iocp-links.html @@ -46,15 +46,20 @@ is done in Unix.

Windows presents asynchronous and non-blocking I/O differently than in Unix. -The syscall select() is available in Windows but it -supports only 64 file descriptors—which is unacceptable for -high-concurrency servers. Instead a system called overlapped - I/O is used. I/O - completion ports (IOCPs) are the objects used to poll overlapped I/O -for completion. -IOCPs are similar to the Unix I/O multiplexers +The syscall +select() + is available in Windows. +select processing is O(n) in the number of file descriptors +unlike the modern constant-time multiplexers like epoll which makes it +unacceptable for high-concurrency servers. + +

+Windows has another way of polling called +I/O completion ports +(IOCPs). IOCPs are the objects used to poll +overlapped I/O +for completion. IOCP polling is constant time (REF?). +They are similar to the Unix I/O multiplexers