En général, tous les sous-systèmes d'E/S asynchrones ont des composants internes différents, mais dans le cas spécifique actuel, ces bibliothèques d'E/S asynchrones concrètes sont utilisées pour prendre en charge autant de plates-formes que possible. C'est-à-dire :
- evport =Solaris 10
- epoll =Linux
- kqueue =OS X, FreeBSD
- sélectionner =généralement installé sur tous plates-formes en tant que
fallback
Evport
, Epoll
, et KQueue
avoir O(1) complexité de l'algorithme de sélection des descripteurs, et ils utilisent tous des structures de mémoire d'espace interne du noyau. Ils peuvent également servir des lots (centaines de milliers) descripteurs de fichiers.
En dehors des autres, select
ne peut servir que jusqu'à 1024 descripteurs, et effectue une analyse complète des descripteurs (donc à chaque itération de tous les descripteurs pour en choisir un avec lequel travailler), la complexité est donc O(n) .