11 12
发新话题
打印

電腦問題 system idle time (转自老论坛)

電腦問題 system idle time (转自老论坛)

感谢andrew, yuandong, chao和manta在老论坛的讨论
-------------------------------------------------------------------------------------------

我常要在windows xp run program, 我的desktop是P4 , 我run 的時侯在task manager中我的program只能占50% cpu time, 另外的50%給一個叫system idle time的工作占了. 但在我的notebook中 (Celeron), 同一個program卻能占99%的cpu time. 為什麼? 50%是否代表只能用50%的cpu?

請高手們指點一下.

TOP

50%system idle time表示cpu有50%的时间没有工作。
desktop的cpu比较强,出来完了,在等memory,hardisk, input, ouput的新数据, 所以有idle的时间。

notebook的cpu比较弱,就一直在run了。

TOP

謝謝了

剛在google search了一遍, 有人說是因為cpu的"hyper-threading"功能所以一個 program的cpu usage只能50%, 另外50%是idle或分給其他process. 由於我不知"hyper-threading"是什麼東東 (看完也不明), 把一個hyperthreading的link給你.

http://www.answers.com/topic/hyper-threading?method=6

不知有沒有關係. 有人說在bios中disable HT功能就可以把cpu usage推到99%. 上面說HT是P4的功能, 在我的情況下好像合理.

其實我最想知是如果把運算時間減少, 感覺上desktop和notebook的速度差不多.

TOP

你desktop不是celeron吧
很有可能你那个program是需要运算浮点的
celeron没有浮点运算,要用integer模拟
所以就要work hard点了

至于hyper threading...搞不清楚
至今我没看到过hyper threading的威力。。。

TOP

如果intel把HT做成那样就太笨了。run一个处理图片的程序,估计cpu可以到99%

假设运行一个程序的时候有N个call cpu的运算。只要第i个和第j个independant,就可以并行运行,缩短总体的时间。

如果CPU需要等memory,hardisk,io的数据,就有很多idle时间。
想要加快,看看瓶颈在哪里。如果你的程序需要很多数据,加内存。甚至把内存做成虚拟硬盘。
换速度快的硬盘也行,如scsi硬盘。如果等io,就没办法了。
改进程序也是一个办法。

TOP

我的程式1小時才寫harddisk一次, 用memory 20mb, 是mathematica, 主要是計算數學function, 有一些array, 但是不大, 幾百 x 幾百吧

有冇計?

TOP

哈哈。。。mathmatica,科学运算
肯定是浮点运算,不用想了
肯定是这个问题
要快,换CPU吧

TOP

听着好像不是电脑的问题,是mathematica怎么分配matrix内存,怎么计算的问题。

这种计算要讲速度,用fortran(一种很老的编程语言),
c语言也有很多人写的package,也很快。

以前用matlab的时候,映象中是要减少循环和避免create太多matrices。--matlab做这两种东西很慢。

听说mathematica整个model就和matlab一样,估计也是循环和分配内存做不好。你看看能不能优化你的mathematica的程序吧。

TOP

notebook是赛扬,desktop已经是P4了。

TOP

我是mathematica的忠實fans, 不會被你的說話動搖的....


從前我是用fortran, 它的有個package不錯, numerical recipe是用assembly來寫的, 超快.

但mathematica的好處是可做symbolic calculation, debug 容易, library豐富, 又可plot graph. 最適合我這種惰人了.

TOP

 11 12
发新话题