首页
社区
课程
招聘
[讨论]一个循环测试程序,看你的机器如何
发表于: 2012-6-4 17:27 4898

[讨论]一个循环测试程序,看你的机器如何

2012-6-4 17:27
4898
本人新手,无聊之中想出了一个测试机器代码执行速度的程序(到底能不能起到测试的作用,我也不知道啊)。纯娱乐行为。。。 各位切莫拍砖
就是一个循环,从1 一直加到 4000000000, 也就是long 的最大表示范围。
废话不多说,贴代码。程序结束后,运行时间会以秒的形式存储在C盘根目录下。
在我的机器上运行了4个多小时。。。
是一个控制台程序,时间api函数是GetCurrentTime()

如何在多线程设计中,提高执行效率;另外如果是在多核处理器里,有办法提高程序的执行效率不?还是只能一个数一个数的计算下去,有什么相应的好算法吗?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 31
活跃值: (43)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
确实,光printf要花时间的哦,还不如运行完把时间差写到屏幕并暂停呢,哈哈,个人感觉。
2012-6-4 18:20
0
雪    币: 31
活跃值: (43)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
#include <iostream.h>
#include <windows.h>
int main()
{
long i=1,j=GetTickCount();
while(i>0)  i;
j=GetTickCount()-j;
cout<<j<<endl;
cin.get();
return 0;
}
娱乐下,根据楼主的思维,俺这个在俺电脑上显示了15412,确实够慢的。
2012-6-4 18:35
0
雪    币: 416
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
哈,可惜代碼太過於windows only,linux需要再修改才能用。
2012-6-4 18:35
0
雪    币: 31
活跃值: (43)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
呵呵,C不是windows,linux通用的吗?如果使用C的规则应该可以的吧?
2012-6-4 20:27
0
雪    币: 102
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
api等不一样啊。

顺便问下,处理器是多核的,程序执行时是怎样的情形。
2012-6-4 21:20
0
雪    币: 1737
活跃值: (110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
发代码的时候,只考虑到个人的应用,没有修改,我最初的目的是比较一下debug版和release版的时间差,看看release版优的化效果,最近在看老钱的那本书;你说得对,应该修改,方便大家使用.多谢
2012-6-5 08:22
0
雪    币: 1737
活跃值: (110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我怕release版,把没用的变量优化掉,所以就用了printf函数,所有机器执行的函数是一样的,应该不影响最后的测试结果。
2012-6-5 08:28
0
游客
登录 | 注册 方可回帖
返回
//