Frage

Ich habe mit Async Linux-Netzwerk-Sockets (AIO_READ et al. In AIO.H/Librt) experimentiert, und eine Sache, die ich herausgefunden habe, ist, ob es sich um keine Kopie handelt oder nicht. So ziemlich alles, was ich bisher gelesen habe, diskutiert die Datei -I/O, während sein Netzwerk -I/O -Interesse interessiert ist.

AIO ist ein bisschen schmerzhaft zu verwenden, und ich vermute, dass es nicht portierbar ist und sich fragt, ob es sich lohnt, damit auszuhalten. Zero Copy ist fast der einzige Vorteil (Albiet a für meine Zwecke), das es über (nicht blockierende) ausgewählt hätte/epoll.

War es hilfreich?

Lösung

In GLIBC wird AIO mit POSIX -Threads und einem regulären implementiert pread-Anruf. Es ist also wahrscheinlich teurer als select oder epoll und das tun read oder recv dich selbst.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top