社区
Linux/Unix社区
帖子详情
关于POSIX message queue的效率问题?
youngwolf
2011-09-30 12:02:46
在queue的大小一定的情况下,比如8k,
发送8k + 接收8k(循环2千万次)与
发送1k + 接收1k(循环2千万次)的执行时间居然几乎无差别!
为什么会这样?
...全文
139
2
打赏
收藏
关于POSIX message queue的效率问题?
在queue的大小一定的情况下,比如8k, 发送8k + 接收8k(循环2千万次)与 发送1k + 接收1k(循环2千万次)的执行时间居然几乎无差别! 为什么会这样?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mymtom
2011-10-06
打赏
举报
回复
首先申明,俺自己没有测试过,所以以下的说法都是猜测:
发送和接收都涉及到几个步骤, 以发送为例,大致分为以下三个步骤
1. 用户态下组织数据
2. 系统调用进入核心态
3. 核心态下将数据从用户空间拷贝到内核空间(放入队列)
所以总的时间消耗为三个步骤时间相加 t = t1 + t2 + t3;
其中系统调用进入核心态涉及上下文切换,是非常耗时的操作,比拷贝8K的数据消耗的时间大的多。
所以造成了发送1K数据和发送8K数据没使用的时间差不多。
ericming200409
2011-09-30
打赏
举报
回复
没有深究过,这个需要看看消息队列的实现,另外数据的移动也可能用到诸如DMA这样的技术
UNIX Network Programming Volume 2(Unix网络编程卷2英文版)
5.5
message
queue
limits 86 5.6 mq_notify function 87 5.7
posix
realtime signals 98 5.8 implementation using memory-mapped i/o 106 5.9 summary 126 chapter 6. system v
message
queue
s 6.1 ...
Linux
POSIX
Message
Queue
使用体会
最近正在Linux上使用
POSIX
Message
Queue
(以下简称MQ)在进程间通讯,对目前我这系统发行版和编译器来讲,MQ用起来有一点体会,是教程是没有说明的,或者我看的不够仔细,没有发现 参考资料 《The Linux ...
Posix
message
queue
消息队列
Posix
message
queue
分类: LINUX 因为要用,学了点IPC,在网上找了个程序,改了一下,加入了pthread,代码如下: /* * m
queue
.c * * Test
posix
message
queue
. */ #include unistd.h>...
消息队列
posix
message
queue
消息队列
posix
message
queue
消息队列可以认为是一个链表。有足够写权限的线程都可以往队列中防止消息, 有足够读权限的县城都可以从队列中取走消息, 每个消息是一个记录, 它由发送者赋予一个优先级。在某个...
UNPV2 学习:
Posix
Message
Queue
s
Posix
消息队列内部维护了一个引用计数,当引用计数大于 0 的时候目标消息队列能够从系统中移除,但是队列的释放仅在最后一次 mq_close 发生时才会触发。mq_notify 函数为
Posix
消息队列提供了一种异步通知机制,当...
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章