send 和 WSASend性能比较
来源:互联网 发布:学德语的软件 编辑:程序博客网 时间:2024/06/15 12:10
socket本身有一个send函数,这个函数的只能一次发送一个缓冲区,这对于在发送大量数据的时候或者数据包很多的时候就可能导致可能导致系统的低性能,主要原因在于调用太多次的send函数,导致从用户态到核心态的不断切换,而耗费了当前的CPU时钟周期。
那么解决办法就是减少调用send的次数,一种办法就是使用一个大一点的BUFFER,在发送数据的时候将多个数据包的内容COPY到这个BUFFER中,然后一次发送,这样在一定程度上减少了send的调用次数,但需要一定的编码工作。
Windows平台上有一个WSASend函数,可以支持一次发送多个BUFFER的请求,每个被发送的数据被填充到WSABUF结构中,然后传递给WSASend函数同时提供BUF的数量,这样WSASend就能上面的工作而减少send的调用次数,来提高了性能。
实际检验证明,使用WSASend可以提高50%的性能甚至更多
- send 和 WSASend性能比较
- send 和 WSASend性能比较
- Send 和 WSASend
- send和WSASend区别
- Send 和 WSASend
- 9.什么是send或者WSASend?
- WSASend()
- WSASend
- WSASend
- WSASend
- 使用WSASend改善网络程序的性能
- 使用WSASend改善网络程序的性能
- 【性能】Java BigDecimal和double性能比较
- for和foreach性能比较
- for和foreach性能比较
- Hashtable和Dictionary性能比较
- ListView和DataGridView性能比较
- String和StringBuffer性能比较
- 《it创业疯魔史》读后有感
- sql常用语句
- Hadoop in Practice
- C和C++中NULL和0的区别
- 天勤OJ 题目1449: 编排字符串
- send 和 WSASend性能比较
- [CSS]HTML前端设计中的布局问题
- 最长递减子序列[转载]
- 关于优化内存 提高软件运行效率的 写的真的很不错
- Spring JdbcTemplate小结
- 内存优化:SoftReference 和 WeakReference 软引用与弱引用
- 5款主流NoSQL数据库全方位横评
- 使用意图在Activity之间传递数据小插曲__传递对象
- spring 集成的项目,Properties配置文件外移