POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

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

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

[复制链接]
41#
发表于 2008-12-29 21:39 | 只看该作者

回复 1# japhsoncross 的帖子

pm758 @2.0GHz 1Core 1 thread: 71

//闪龙 1.6G也太牛了?
回复 支持 反对

使用道具 举报

42#
发表于 2008-12-29 21:39 | 只看该作者
这个用power pc g4跑不了~~~
回复 支持 反对

使用道具 举报

43#
发表于 2008-12-29 21:52 | 只看该作者
原帖由 japhsoncross 于 2008-12-29 21:38 发表


呵呵, 你看的很仔细哦, 在线程数量为1的时候, 就只有一个线程, 早期的版本并没有使用这个办法, 导致在单核CPU上成绩特别差.
运算量完全没有变化.
其实Windows看到CPU占用率, 应该是从系统的CPU时间统计的, 和物 ...


如果4核设2线程占75%,那说明程序的发射线程可以优化.我不清楚你的发射线程的同步机制是怎么样的,根据我的经验,一般情况下,加个sleep(1),该线程的CPU占用率一般都可以降到接近0%.
回复 支持 反对

使用道具 举报

44#
 楼主| 发表于 2008-12-29 22:12 | 只看该作者
原帖由 阿摩 于 2008-12-29 21:52 发表


如果4核设2线程占75%,那说明程序的发射线程可以优化.我不清楚你的发射线程的同步机制是怎么样的,根据我的经验,一般情况下,加个sleep(1),该线程的CPU占用率一般都可以降到接近0%.


刚刚测试了一下, 用Sleep(1)确实将发射线程的占用率降低到接近0%, 很感谢哦:)
不过这里还有一个问题, 因为Sleep(1)就意味着需要等待1毫秒才能重新检查当前线程的情况.
那么从目前的情况看, 现在的CPU当然都不足以在1ms内跑完一个线程, 但却还是存在每个轮询会牺牲最多1ms(无限接近)的可能, 不过这个还是会比我的方法好. 只有当以后CPU速度快到一定地步的时候, 1ms才会有损失.

另外有一个问题, 就是采用这种方法后的成绩和1.5倍的方式并没有什么差异, 这还是因为操作系统的原因?

-----------------------------------------
多次测试后, 发现是有提升的, 大约0.5-1%.

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

使用道具 举报

45#
发表于 2008-12-29 22:15 | 只看该作者
Dell optilex 745 E2160 硬改266*9 :248
回复 支持 反对

使用道具 举报

46#
发表于 2008-12-29 22:16 | 只看该作者
整理一下数据吧,弄个排行榜啥的。{victory:]
回复 支持 反对

使用道具 举报

47#
 楼主| 发表于 2008-12-29 22:25 | 只看该作者
@lemonninja:
目前只能在Windows下运行哈:)

@batacat:
呵呵, 我已经在顶楼更新了核心分类的数据, 从目前的测试结果来看, 核心的因素是决定性的, 一旦核心确定, 有多少频率就能上多少结果, 这些都能计算出来哦.
嗯, 不过我可以把目前最快的挂起来. Xeon E5420 Dual @2.5G 8Core: 1224.

很感谢这么多朋友帮忙测试啊~
数据多多益善, 其实我后面一直在用表格统计:)

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

使用道具 举报

48#
发表于 2008-12-29 22:28 | 只看该作者
{lol:] AM2 3600+ 超到2.3GHz——————202分
回复 支持 反对

使用道具 举报

49#
发表于 2008-12-29 22:30 | 只看该作者
X3210 OC 3.6G 783分
回复 支持 反对

使用道具 举报

50#
发表于 2008-12-29 22:43 | 只看该作者
原帖由 japhsoncross 于 2008-12-29 22:12 发表


刚刚测试了一下, 用Sleep(1)确实将发射线程的占用率降低到接近0%, 很感谢哦:)
不过这里还有一个问题, 因为Sleep(1)就意味着需要等待1毫秒才能重新检查当前线程的情况.
那么从目前的情况看, 现在的CPU当然都不足 ...


如果要避免sleep的损失,可以用事件通知机制.

你现在有多少个任务,每个任务的平均计算时间和任务间的最大时间差是多少?
回复 支持 反对

使用道具 举报

51#
发表于 2008-12-29 22:44 | 只看该作者
下个来看看{shy:]
回复 支持 反对

使用道具 举报

52#
发表于 2008-12-29 22:48 | 只看该作者
E5200 oc3.6G 432
回复 支持 反对

使用道具 举报

53#
 楼主| 发表于 2008-12-29 22:51 | 只看该作者
原帖由 阿摩 于 2008-12-29 22:43 发表


如果要避免sleep的损失,可以用事件通知机制.

你现在有多少个任务,每个任务的平均计算时间和任务间的最大时间差是多少?


嗯, 有道理, 可以用事件的方式来做. 不过这样改动会比较大, 我来试试看.
这个程序共有256个任务, 负荷的差别最大达到10倍以上.

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

使用道具 举报

54#
发表于 2008-12-29 23:07 | 只看该作者
回复 支持 反对

使用道具 举报

55#
发表于 2008-12-29 23:22 | 只看该作者
DELL XPS M1330
T9300 @2.5G 2Cores
Threads 3
297
回复 支持 反对

使用道具 举报

56#
发表于 2008-12-30 09:13 | 只看该作者
原帖由 japhsoncross 于 2008-12-29 22:51 发表


嗯, 有道理, 可以用事件的方式来做. 不过这样改动会比较大, 我来试试看.
这个程序共有256个任务, 负荷的差别最大达到10倍以上.


每个任务在计算前可以确定计算量吗?如果可以确定的话,就可以不用发射线程了.

在计算前对任务进行计算量从大到小的排序,然后开核心数相同的线程,每做完一个任务线程自己去取新的任务,取任务的时候注意锁的操作,这样就可以省除发射线程了,而且越到后面,任务计算量越小,所有线程完成的时间越接近.
回复 支持 反对

使用道具 举报

57#
发表于 2008-12-30 09:48 | 只看该作者
应用程序错误。。开不到。
回复 支持 反对

使用道具 举报

58#
发表于 2008-12-30 10:43 | 只看该作者
2140 1.6G 175分:sweatingbullets:
回复 支持 反对

使用道具 举报

59#
发表于 2008-12-30 12:04 | 只看该作者
原帖由 frankincense 于 2008-12-29 23:22 发表
DELL XPS M1330
T9300 @2.5G 2Cores
Threads 3
297


T9300很强啊。热不热?{happy:]
回复 支持 反对

使用道具 举报

60#
发表于 2008-12-30 13:28 | 只看该作者
记录刷新
X5430 *2 2.66G 8Core 1328!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-29 13:19

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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