我一直在尝试使用异步Linux网络套接字(aio_read等在aio.h/librt中),其中一个我一直试图找出的问题是它们是否是零拷贝。到目前为止,我读到的几乎所有内容都涉及文件I/O,而我感兴趣的是网络I/O。
AIO使用起来有点麻烦,而且我怀疑它不可移植,所以想知道是否值得坚持使用它。对于我的目的来说,零拷贝只是它与(非阻塞)select/epoll相比唯一的优势(虽然这是一个重大的优势)。
AIO使用起来有点麻烦,而且我怀疑它不可移植,所以想知道是否值得坚持使用它。对于我的目的来说,零拷贝只是它与(非阻塞)select/epoll相比唯一的优势(虽然这是一个重大的优势)。
-lrt
和aio_*
函数)和Linux AIO(-laio
与io_*
函数)是两个不同的东西。前者是可移植的,但后者不是。请参阅Google的AIO用户指南。 - Trevor Robinson