Ich experimentierte mit asynchronen Linux-Netzwerk-Sockets (aio_read et al in aio.h/librt), und eine Sache, die ich herausfinden wollte, ist, ob diese Null-Kopie sind oder nicht. Ziemlich alles, was ich bisher gelesen habe, diskutiert Datei-I/O, während seine Netzwerk-I/O ich interessiert bin.AIO-Netzwerk-Sockets und zero-copy unter Linux
AIO ist ein bisschen ein Schmerz zu verwenden, und ich vermute, dass nicht tragbar ist, also fragen, ob es es lohnt sich, damit auszukommen. Zero-Copy ist nur der einzige Vorteil (Albiet ein großer für meine Zwecke) würde es über (nicht-blockierende) select/epoll haben.
AIO scheint Teil von POSIX.1-2001 zu sein, also sollte es tragbar sein. –
POSIX/glibc AIO ('-lrt' und' aio_ * 'Funktionen) und Linux AIO (' -laio' mit 'io_ *' Funktionen) sind zwei verschiedene Dinge. Ersteres ist tragbar, letzteres nicht. Siehe [Google AIO-Benutzerhandbuch] (http://code.google.com/p/kernel/wiki/AIOUserGuide). –