当前位置:
首页 >
Windows环境下IOCP和SELECT模型性能比较
发布时间:2025/3/19
48
豆豆
生活随笔
收集整理的这篇文章主要介绍了
Windows环境下IOCP和SELECT模型性能比较
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
在大量客户端连接的情况下,IOCP模型应该是具有先天优势的,首先是每次调用时不需要传入socket列表,其次是他在通知时就已经完成了IO操作,节省了系统调用。
道理是这么个道理,然而在实际应用过程当中,在少量连接的情况下,例如单连接,IOCP的吞吐性能可能远不及SELECT模型。
具体的项目是一个VPN软件,测试环境是 i7 9700 16G内存 56G InfiniBand直连网络。在使用SELECT模型时单线程测速能达到4~7Gbps以上,而IOCP模型仅仅只有1.2Gbps左右。
搜索了一些资料,国外友人在16年前就发现少量连接时IOCP性能非常差
https://alt.winsock.programming.narkive.com/cs0WvuXh/does-iocp-provide-real-performance-gain
另外一个paper显示在大量连接的情况下,IOCP与EPOLL不分伯仲(没有测试select)
https://www.slideshare.net/sm9kr/iocp-vs-epoll-perfor
总结
以上是生活随笔为你收集整理的Windows环境下IOCP和SELECT模型性能比较的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 测试x86cpu的指令集
- 下一篇: 让Windows控制台应用程序支持VT1