免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2628 | 回复: 3
打印 上一主题 下一主题

2.4内核下 select 计时精确度受哪些因素影响? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-03 12:36 |只看该作者 |倒序浏览
#include<stdio.h>
#include<sys/select.h>
#include<sys/time.h>
                                                                                                                                    
intmain(intargc, char**argv)
{
        structtimeval tv;
        struct timevaltv1;
        struct timevaltv2;
        int t;
                                                                                                                                    
        while(1){
                gettimeofday(&tv1,NULL);
                tv.tv_sec= 0;
                tv.tv_usec= 20 *1000;
                select(0,0, 0,0,&tv);
                gettimeofday(&tv2,NULL);
                                                                                                                                    
                t =(tv2.tv_sec-tv1.tv_sec)* 1000 +
                        (tv2.tv_usec-tv1.tv_usec)/ 1000;
                                                                                                                                    
                if (t> 30){
                        printf("selecttime %d\n",t);
                }
                                                                                                                                    
        }
}  

代码如上,大部分情况下,gettimeofday测出的select的等待时间为20 ~30ms
但是让我郁闷的是如果这时候我开个FTP传文件,
select的等待时间居然会飙到80ms左右,这误差也太大了吧?
我用TOP看了一下,没有CPU占用率特别高的程序在跑。
请问各位,这是为什么?

[ 本帖最后由 lijay 于 2007-7-3 12:37 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-07-03 14:40 |只看该作者
你可以单独先测测gettimeofday的延迟,这对你的测试影响很大

论坛徽章:
0
3 [报告]
发表于 2007-07-03 15:54 |只看该作者
原帖由 apony 于 2007-7-3 14:40 发表于 2楼  
你可以单独先测测gettimeofday的延迟,这对你的测试影响很大


谢谢你的提醒, 我去掉select单独测试gettimeofday,发现也是只要连接FTP都会出现大的延迟(80ms以上)。
另外,无论是我自己的PC,开发板上,以及开发用的服务器,都有这个现象
我们都是2.4的内核。

论坛徽章:
0
4 [报告]
发表于 2007-07-03 18:07 |只看该作者
难道和ftp的进程时间片切换有关?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP