社区
网络编程
帖子详情
为什么tcp的cpu占用率远低于udp的占用率,同样的速率情况下
Oversense
2010-06-26 12:02:51
tcp,udp程序都是特别订制的最简单的程序,不需要怀疑应用层效率的问题
按道理 tcp 要做的事情比udp要多一些哟,反而cpu占用率低呢,
有谁知道这是怎么回事呢?
...全文
599
12
打赏
收藏
为什么tcp的cpu占用率远低于udp的占用率,同样的速率情况下
tcp,udp程序都是特别订制的最简单的程序,不需要怀疑应用层效率的问题 按道理 tcp 要做的事情比udp要多一些哟,反而cpu占用率低呢, 有谁知道这是怎么回事呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tianhaixin
2010-06-30
打赏
举报
回复
学习……
悟迟
2010-06-30
打赏
举报
回复
[Quote=引用 10 楼 wwwllg 的回复:]
首先,tcp是在内核完成,统计cpu时,是统计不到tcp实现的占用的cpu
只能统计API调用占用的cpu.比如,send,sendto等。
第二,缓冲区大小不一样,缓冲区处理,tcp都在底层,不占cpu.
而udp,要处理很多事情,如果你的包设置的很小,比如小于1k,那么同样的数据量,udp显然要多得很多。
如果在局域网,可以加大发送的大小,比如,32k一发,会节省很多cpu.……
[/Quote]我期待的高人出现了,
UDX协议
2010-06-29
打赏
举报
回复
首先,tcp是在内核完成,统计cpu时,是统计不到tcp实现的占用的cpu
只能统计API调用占用的cpu.比如,send,sendto等。
第二,缓冲区大小不一样,缓冲区处理,tcp都在底层,不占cpu.
而udp,要处理很多事情,如果你的包设置的很小,比如小于1k,那么同样的数据量,udp显然要多得很多。
如果在局域网,可以加大发送的大小,比如,32k一发,会节省很多cpu.
Conry
2010-06-29
打赏
举报
回复
说明你的udp代码写的有问题
周药师
2010-06-29
打赏
举报
回复
TCP要经过3次握手完成一个业务流程
理论上TCP比UDP耗资源、而且也没有UDP传输快
xgPaul
2010-06-29
打赏
举报
回复
可能与UDP发包的确认机制有关
Oversense
2010-06-26
打赏
举报
回复
我实测的啊, 要测试, 才有发言权哟, 我在linux,window@ia32 linux@arm 等各种环境下都测试过的
Squall_zy
2010-06-26
打赏
举报
回复
你依据什么说这话的?
hastings
2010-06-26
打赏
举报
回复
mark..我的回复大家可以无视...直接看下一楼的...
Oversense
2010-06-26
打赏
举报
回复
[Quote=引用 3 楼 wozhaolala 的回复:]
引用 2 楼 oversense 的回复:
我实测的啊, 要测试, 才有发言权哟, 我在linux,window@ia32 linux@arm 等各种环境下都测试过的
不光要测试,还得方法对,才有发言权,不过,我都没测试,所以我就不评论了,看楼下的
[/Quote]
lijianli9
2010-06-26
打赏
举报
回复
我也期待看过TCP,UDP实现的达人来讲下。
悟迟
2010-06-26
打赏
举报
回复
[Quote=引用 2 楼 oversense 的回复:]
我实测的啊, 要测试, 才有发言权哟, 我在linux,window@ia32 linux@arm 等各种环境下都测试过的
[/Quote]不光要测试,还得方法对,才有发言权,不过,我都没测试,所以我就不评论了,看楼下的
计算机网络面经-
UDP
为什么比
TCP
要更快
TCP
使用多种机制来避免网络拥塞,包括慢启动(slow start)、拥塞避免(congestion avoidance)、快重传(fast retransmit)和快恢复(fast recovery)等。由于
TCP
提供了更多的可靠性和控制功能,它的实现通常比
UDP
更复杂,并且需要更多的网络带宽和处理器资源。在网络拥塞时,
UDP
数据包仍然会被发送,这可能会加剧网络拥塞,导致更多的数据包丢失。:
TCP
通过滑动窗口机制实现流量控制,确保发送方不会发送过多的数据,使接收方来不及处理。
【计算机网络】传输层——
TCP
和
UDP
详解
TCP
(Transmission Control Protocol):中文名为传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。
UDP
(User Datagram Protocol):中文名为用户数据报协议,是一种无连接、不可靠的、面向数据报的传输层通信协议。
TCP
是有连接的,
UDP
是无连接的
TCP
提供可靠传输,
UDP
提供不可靠传输
TCP
数据传输面向字节流,
UDP
面向数据报
TCP
和
UDP
都是全双工的(共同点)有连接 VS 无连接。
TCP
协议和
UDP
协议
1.传输控制协议
TCP
1.1
TCP
的主要特点: 1.1.1面向连接的运输层协议 socket部分讲述
tcp
连接的建立
tcp
连接的释放
tcp
的有限状态机 1.1.2每一条
TCP
连接只能有两个端点,每一条
TCP
链接只能是点对点的(一对一) 1.1.3
TCP
提供可靠交付的服务 可靠传输的工作原理 可靠传输的实现 流量控制 拥塞控制 1.1.4
TCP
提供全双工通信 1.1.5面向字节流 流式服务的特点 1.2与
TCP
有关的面试问题 2.用户数据报协议
UDP
2.1
UDP
协
关于
udp
和
tcp
的一些比较
作者:hailiang huang 链接:https://www.zhihu.com/question/20292749/answer/85286488 来源:知乎 著作权归作者所有,转载请联系作者获得授权。 QQ为什么实用
udp
很多人提到keepalive,
TCP
无法感知网络中断这些问题。。。这个算是
TCP
一个容易踩的坑,但这并不能说明
UDP
就比
TCP
好(或者
TCP
和
UDP
详解
TCP
和
UDP
详解
网络编程
18,358
社区成员
64,164
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章