Network server paradigms (ctd) Multiplexed IO - kqueue() / /dev/poll Modern UNIX magic (freebsd, solaris, IRIX) IO "events" are registered with the OS, which then informs you when they are ready No time is wasted re-polling file descriptors FreeBSD's kqueue is O(1) for any useful number of filedescriptors (where n has been tested out to 20,000 by me at least!) Registering and checking for IO events is now easier .. .. but you now hit a ceiling due to the actual read/write APIs