Ogólnie rzecz biorąc, wszystkie podsystemy Async I/O mają różne elementy wewnętrzne, ale w obecnym konkretnym przypadku te konkretne biblioteki Async I/O są używane do obsługi jak największej liczby platform. To znaczy:
- przenieś =Solaris 10
- epolacja =Linux
- kolejka =OS X, FreeBSD
- wybierz =zwykle instalowany na wszystkich platformy jako
fallback
Evport
, Epoll
i KQueue
mieć O(1) złożoność algorytmu wyboru deskryptora i wszystkie one wykorzystują wewnętrzne struktury pamięci w przestrzeni jądra. Mogą również służyć dużo (setki tysięcy) deskryptory plików.
Oprócz innych, select
może obsługiwać tylko do 1024 deskryptory i wykonuje pełne skanowanie deskryptorów (więc za każdym razem, gdy iteruje wszystkie deskryptory, aby wybrać jeden do pracy), więc złożoność jest O(n) .