Over het algemeen hebben alle Async I/O-subsystemen verschillende interne onderdelen, maar in het huidige specifieke geval worden deze concrete asynchrone I/O-bibliotheken gebruikt om zoveel mogelijk platforms te ondersteunen. Dat is:
- evport =Solaris 10
- epoll =Linux
- kqueue =OS X, FreeBSD
- selecteer =meestal geïnstalleerd op alle platforms als een
fallback
Evport
, Epoll
, en KQueue
heb O(1) descriptorselectie-algoritme complexiteit, en ze gebruiken allemaal interne kernelruimtegeheugenstructuren. Ze kunnen ook veel serveren (honderdduizenden) bestandsbeschrijvingen.
Behalve de anderen, select
kan slechts maximaal 1024 dienen descriptors, en scant de descriptors volledig (dus elke keer herhaalt het alle descriptors om er een te kiezen om mee te werken), dus de complexiteit is O(n) .