POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
楼主: japhsoncross
打印 上一主题 下一主题

自己写的CPU测试工具,大家有兴趣跑了玩玩看。

[复制链接]
21#
发表于 2008-12-29 18:45 | 只看该作者
T7200
152
回复 支持 反对

使用道具 举报

22#
发表于 2008-12-29 18:49 | 只看该作者
回复 支持 反对

使用道具 举报

23#
发表于 2008-12-29 18:51 | 只看该作者
E8400 oc 4G 得分:434
回复 支持 反对

使用道具 举报

24#
发表于 2008-12-29 19:07 | 只看该作者
Q6600 OC 3.5GHZ  744~~{cry:]
回复 支持 反对

使用道具 举报

25#
发表于 2008-12-29 19:13 | 只看该作者
i7 920@3.4G,4Core8Threads
threads 12
1139
回复 支持 反对

使用道具 举报

26#
发表于 2008-12-29 19:13 | 只看该作者
xeon 3350 oc 3.2G  804{wink:]
回复 支持 反对

使用道具 举报

27#
发表于 2008-12-29 19:44 | 只看该作者
E8400 oc 4G 得分:455
回复 支持 反对

使用道具 举报

28#
发表于 2008-12-29 20:54 | 只看该作者
E8400 OC 500*9 4.5G 得分 winxp 下 535;vista 64下 522

[ 本帖最后由 长夜孤灯 于 2008-12-29 20:59 编辑 ]
回复 支持 反对

使用道具 举报

AlcatrazX 该用户已被删除
29#
发表于 2008-12-29 21:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

30#
发表于 2008-12-29 21:01 | 只看该作者
xeon 3350 oc 3.6G  904

PD820   默认2.8G   171

PhenomX4 9750   默认2.4G 455
测试了7种U{lol:]
回复 支持 反对

使用道具 举报

31#
发表于 2008-12-29 21:03 | 只看该作者
E2160超到3.7G,得分407分(后台程序若干)。

E8200超到3.6G,得分454分。

3800+超到2.8G,刚好250分。

E5200超到4G,得分479.

这几台机都是我自己的,感觉上面有些4g的e8分数有些偏低了。还有就是amd双核跑这个不行。

[ 本帖最后由 dadaneov 于 2008-12-30 22:05 编辑 ]
回复 支持 反对

使用道具 举报

32#
发表于 2008-12-29 21:08 | 只看该作者
这个测试多核心处于压倒性的优势{lol:]
回复 支持 反对

使用道具 举报

natsumi 该用户已被删除
33#
发表于 2008-12-29 21:08 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

34#
 楼主| 发表于 2008-12-29 21:10 | 只看该作者
原帖由 lionking80 于 2008-12-29 21:01 发表
xeon 3350 oc 3.6G  904

PD820   默认2.8G   171

PhenomX4 9750   默认2.4G 455
测试了7种U{lol:]


非常感谢!

请参考顶楼更新, 按照核心区分的结果 :)
回复 支持 反对

使用道具 举报

35#
发表于 2008-12-29 21:11 | 只看该作者
Athlon 64 x2 5000+  oc3.0G  261
回复 支持 反对

使用道具 举报

36#
发表于 2008-12-29 21:23 | 只看该作者
原帖由 japhsoncross 于 2008-12-29 14:29 发表


上下文切换的开销确实存在,在单核CPU的时候尤其明显。
在开发的时候我考虑了两种多线程的方式,在程序中可以看成有0-255个数据段,第一次采用的方法是如果是双核,则两个线程分头执行一个从0开始递增,一个从1 ...


你的程序试了一下.

选不同的线程数,计算的总数据量是否相同?
线程数为1时,这时是否没有用于发射的线程?
发现一个问题,当设置线程数量等于cpu核心数时,得分很低,而这时cpu的利用率是满载,最后计算完成时,cpu时间也比1.5倍线程数要大.如果总计算量是相同的,那很可能是很大一部分cpu资源浪费在了发射线程上了.程序里的发射线程循环里可以加上sleep(1)试试看,不过上面都是猜测,不知实际情况是否这样。
回复 支持 反对

使用道具 举报

37#
发表于 2008-12-29 21:32 | 只看该作者
X3210 OC @400*8 4Cores,680
回复 支持 反对

使用道具 举报

38#
发表于 2008-12-29 21:33 | 只看该作者
5410*2 1080
回复 支持 反对

使用道具 举报

39#
发表于 2008-12-29 21:35 | 只看该作者
原帖由 srw0118 于 2008-12-29 14:30 发表
PM 780 @2.26G  80{blush:]

X3350@3.2G  810
X3350@3.6G  909
回复 支持 反对

使用道具 举报

40#
 楼主| 发表于 2008-12-29 21:38 | 只看该作者
原帖由 阿摩 于 2008-12-29 21:23 发表


你的程序试了一下.

选不同的线程数,计算的总数据量是否相同?
线程数为1时,这时是否没有用于发射的线程?
发现一个问题,当设置线程数量等于cpu核心数时,得分很低,而这时cpu的利用率是满载,最后计算完成时,cpu ...


呵呵, 你看的很仔细哦, 在线程数量为1的时候, 就只有一个线程, 早期的版本并没有使用这个办法, 导致在单核CPU上成绩特别差.
运算量完全没有变化.
其实Windows看到CPU占用率, 应该是从系统的CPU时间统计的, 和物理CPU是否被利用没有特别必然的关系, 比如调用Sleep()使用的时候会发现也有CPU占用.
在4核的CPU上使用2线程, 会发现CPU占用不是50%, 而是75%, 因为那个开启线程的线程一直在等待, 如果当前激活的线程低于2的时候, 就开启后面的线程.
不过我也测试过一些办法, 但是都不是特别理想, 希望能够实时监视当前线程数量, 但是又不希望占用CPU时间. 提高线程数量可以明显降低被白白占用的CPU时间, 但是又增加了线程切换的时间. 采用类似Timer的机制去侦测, 又担心有CPU时间被浪费. 现在的1.5倍的办法已经非常接近用1个线程运算结果的核心数量倍, 只是看起来比较粗笨.
不知有什么更好的方法 :(

[ 本帖最后由 japhsoncross 于 2008-12-29 21:41 编辑 ]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-8-1 00:59

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表