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

StackOverflow https://stackoverflow.com/questions/2970690

  •  24-10-2019
  •  | 
  •  

Вопрос

Я экспериментировал с Async Network Sockets (AIO_READ и др. В AIO.H/LIBRT), и одна вещь, которую я пытался выяснить, это то, нульны или нет. Практически все, что я читал до сих пор обсуждает файл ввод -вывод, тогда как его сетевой ввод -вывод меня/вывода.

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top