Em geral, todos os subsistemas de E/S assíncronos têm componentes internos diferentes, mas no caso específico atual, essas bibliotecas de E/S assíncronas concretas são usadas para suportar o máximo de plataformas possível. Isso é:
- transporte =Solaris 10
- epoll =Linux
- kqueue =OS X, FreeBSD
- selecionar =geralmente instalado em todos plataformas como um
fallback
Evport
, Epoll
e KQueue
tem O(1) complexidade do algoritmo de seleção do descritor, e todos eles usam estruturas internas de memória do espaço do kernel. Também podem servir lotes (centenas de milhares) descritores de arquivo. Além dos outros,
select
só pode veicular até 1.024 descritores e faz uma varredura completa dos descritores (portanto, toda vez que itera todos os descritores para escolher um para trabalhar), a complexidade é O(n) .