Сокеты сети AIO и нулевая копия в соответствии с Linux

Я экспериментировал с асинхронными сокетами сети Linux (aio_read и др. в aio.h/librt), и одна вещь, которую я пытался узнать, состоит в том, являются ли они нулевой копией или нет. В значительной степени все, что я считал до сих пор, обсуждает файловый ввод-вывод, тогда как его сеть I/O я интересуюсь.

AIO является чем-то вроде боли для использования, и я подозреваю, является непортативным, так задается вопросом ли, который стоит упорно продолжить заниматься с ним. Нулевая копия является примерно единственным преимуществом (альбит главный в моих целях), это имело бы по (неблокированию) select/epoll..

6
задан Remy 4 June 2010 в 00:09
поделиться

1 ответ

В GLIBC AIO реализован с использованием POSIX-потоков и обычного pread-вызова. Так что это, вероятно, дороже, чем select или epoll и самостоятельное выполнение read или recv.

2
ответ дан 17 December 2019 в 20:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: