在Wikipedia's introduction to splice中,我找到了:
将splice()与套接字一起使用时,网络控制器(NIC)必须 支持DMA。
当NIC不支持DMA时,splice()将不会提供任何内容 性能改进。这样做的原因是每一页的 管道将填充到帧大小(可用4096的1460字节 每页字节数。)
根据我的理解,接头可以提高性能,因为:
如果NIC不支持DMA拷贝,我们使用CPU拷贝。这仍然比必须转到用户空间的普通副本更好。
所以,我不明白为什么维基百科说如果没有网卡中的DMA支持就没有性能提升。
答案 0 :(得分:0)
也许维基百科错了?那篇文章已被标记为引用次数......