socket di rete AIO e lo zero-copy sotto Linux
Domanda
Ho avuto modo di sperimentare con asincrona socket di rete di Linux (aio_read et al aio.h / librt), e una cosa che ho cercato di scoprire è se questi sono pari a zero-copy o meno. Praticamente tutto ciò che ho letto finora discute file di I / O, mentre la sua rete I O Sono interessato / a.
AIO è un po 'di dolore per l'uso e ho il sospetto non è portatile, in modo chiedendo se vale la pena perseverare con esso. Zero-copy è praticamente l'unico vantaggio (albiet un importante uno per i miei scopi) avrebbe over (-bloccanti non) selezionare / epoll ..
Soluzione
In GLIBC, AIO viene implementata utilizzando thread POSIX e un regolare pread
-chiamata. Quindi è probabile che più costoso di select
o epoll
e facendo il read
o recv
te stesso.