标题: 请问:c++程序在windows与liunx运行时间的差距?
kadywang
新生入学
Rank: 1



UID 220653
精华 0
积分 10(积分有什么用?)
帖子 2
阅读权限 10
注册 2007-12-28
状态 离线
发表于 2007-12-29 16:15  资料  个人空间  短消息  加为好友 
请问:c++程序在windows与liunx运行时间的差距?

同一段程序在windows与linux下运行时间相差较大(我用的g++编绎),不知为什么?反而在liunx下运行时间很长(能出计算结果)。
?`_#Hf|8r&xj(gV初次在liunx下运行程序,所以请教:在将生成数据写入磁盘时,用得是fwrite,而不是 ofstream, 是由这个造成运行时间增加吗?还有别的原因吗,请帮我分析一下。程序上我该如何改写?非常感谢了!

顶部
kadywang
新生入学
Rank: 1



UID 220653
精华 0
积分 10(积分有什么用?)
帖子 2
阅读权限 10
注册 2007-12-28
状态 离线
发表于 2008-1-2 10:57  资料  个人空间  短消息  加为好友 
回复 #1 kadywang 的帖子

没人知道吗?期待...

顶部
bambo
新生入学
Rank: 1



UID 218327
精华 0
积分 10(积分有什么用?)
帖子 1
阅读权限 10
注册 2007-11-15
状态 离线
发表于 2008-2-19 09:29  资料  个人空间  短消息  加为好友 
这种不同平台的程序的io上面差别很大的。

顶部
不容错过的IBM 集群技术资源汇总
jallyx
新生入学
Rank: 1



UID 208416
精华 0
积分 11(积分有什么用?)
帖子 9
阅读权限 10
注册 2007-8-22
状态 离线
发表于 2008-4-8 21:25  资料  个人空间  短消息  加为好友 
如果我没有搞错的话,fwrite实际上是调用 write完成任务的,write是系统调用,这很耗时的(我不明白win是怎么实现的,反正Linux是这样)。&hBEK@wn%ZA4N
建议自己设立一个缓冲区,每当缓冲区满了才调用一次write,这样应该有一定的效果。
Ap\4]} G/k&\www.linuxeden.com
q-q4e|lp3r

另外,说一句不好听的话,我不喜欢C++高手,他们只是说,从来不做。
!R}o~9}6Z^-{我这儿的解释很简单,希望你能明白,如果实在不知如何实现,可以向我要源码。~``TbN
jallyx@163.com4KE        |,@,Ab1biJ |4p

1o9[_2GSLQ0F%V?[ 本帖最后由 jallyx 于 2008-4-8 21:31 编辑 ]

顶部
flag
版主
Rank: 7Rank: 7Rank: 7
版主



UID 19801
精华 1
积分 28(积分有什么用?)
帖子 5581
阅读权限 100
注册 2002-7-19
状态 在线
发表于 2008-4-9 18:31  资料  个人空间  短消息  加为好友 
把你说的结果不同的程序写出来啊,用ofstream并不是等写完了才继续运行,所以结果快。





上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。
顶部
不容错过的IBM 集群技术资源汇总
 



当前时区 GMT+8, 现在时间是 2008-5-17 11:02

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.133295 second(s), 5 queries

清除 Cookies - 联系我们 - Linux伊甸园 - Archiver - WAP