Generelt har alle Async I/O-undersystemer forskellige interne elementer, men i det aktuelle specifikke tilfælde bruges disse konkrete Async I/O-libs til at understøtte så mange platforme som muligt. Det vil sige:
- evport =Solaris 10
- epoll =Linux
- kqueue =OS X, FreeBSD
- vælg =normalt installeret på alle platforme som en
fallback
Evport
, Epoll
, og KQueue
har O(1) kompleksitet af deskriptorvalgalgoritme, og de bruger alle interne kernerumshukommelsesstrukturer. De kan også tjene masser (hundredetusindvis) filbeskrivelser.
Bortset fra de andre, select
kan kun tjene op til 1024 deskriptorer og laver fuld scanning af deskriptorer (så hver gang den itererer alle deskriptorer for at vælge en at arbejde med), så kompleksiteten er O(n) .