非常怪异的问题,双核执行速度不如单核,除非强制占用一个核

HuWenjin 2009-08-27 12:31:08
加精
问题发现:

1。管道服务端,接收写入的LOG
2。管道客户端,任意程序写入LOG

测试:
管道客户端向服务端连写100条记录,无延时的FOR调用


单核CPU下:290-310ms
双核CPU下: 2980-3100ms
双核CPU下:启动VMWare(强制占用一个核50%CPU) 测试结果290-310ms == 单核CPU


真是怪异,被占掉一个核后,执行的速度更快了....

我该如何调整程序,在双核模式下,执行效率和单核一样
100条记录,300ms 和 3000ms 10倍的差别啊


请教~~



...全文
1658 点赞 收藏 109
写回复
109 条回复
嗷嗷叫的老马 2009年09月02日
为白拿的100分惭愧地帮顶
回复 点赞
zucc_bug 2009年08月31日
不懂的我默默地飘过
回复 点赞
beiyegao 2009年08月31日
我来把帖子顶起来
回复 点赞
nixiang12 2009年08月31日
csdn告诉我..
每天回帖即可获得10分可用分!
回复 点赞
hdp441024615 2009年08月31日
顶、
http://www.xinkeor.cn/?11604-1.html
回复 点赞
teclinkhttp 2009年08月31日
没有仔细研究过,关注!
回复 点赞
xiaol_zhong 2009年08月30日
我是来学习的
回复 点赞
littlegang 2009年08月30日
估计是WriteToLogServer函数没写好,没有为多线程进行考虑
很可能是应该进行IO操作时锁住了什么句柄了
回复 点赞
wangshow 2009年08月29日
我也想学习下
回复 点赞
nettman 2009年08月29日
关注!
回复 点赞
lzb2377 2009年08月29日
菜鸟膜拜中。。。。 大神们好
回复 点赞
laiyune1985 2009年08月29日
这个问题峰回路转啊,有意思!
回复 点赞
chimera2u 2009年08月29日
多核对计算密集型任务会提高效率,对读写密集型任务由于cache冲突,附加的任务切换等因素的限制恐怕效率不会调高而会更慢
回复 点赞
knight8199 2009年08月29日
是这样吗,我 也去看看
回复 点赞
zx07970797 2009年08月29日
不会吧
回复 点赞
pjxiaoshan 2009年08月29日
没怎么懂 再看一遍
回复 点赞
sams_wang 2009年08月29日
[Quote=引用 14 楼 my860310 的回复:]
    单核 是一心一意
    双核 是 三心二意


    这两种状态泡妞你说哪种先搞定。。。。
[/Quote]
强!!
回复 点赞
月之圣痕 2009年08月28日
我来学习一下
回复 点赞
midas0523 2009年08月28日
回复 点赞
嗷嗷叫的老马 2009年08月28日
多核,理论上来说就能有多物理线程并行.

但如何实现,对我们来说应该就是写多线程程序就OK,OS会自动进行分配的.

我在想,如何判断线程应该分配给另一核心,或者只由单核心完成,是OS的事了....

楼主试一下SetThreadAffinityMask强行进行线程绑定物理内核试下看看.

以下是我前段时间的VB6下多线程实验:

http://topic.csdn.net/u/20090704/03/09d39625-56b4-4f86-90a6-b74254aadc72.html
回复 点赞
发动态
发帖子
英特尔技术
创建于2007-08-27

220

社区成员

7024

社区内容

移动平台 Intel移动计算技术
社区公告
暂无公告