5、运行五个Super PI程序
此时CPU是处于超负荷的状态,在同时运行五个Super PI程序的时候,是四个程序先运行完,再运行第五个程序,还是五个程序同时运行呢?
我们先来看看测试结果:
运行五个Super PI |
CPU占用率 |
测试成绩 |
|
100% |
31.375 31.484 32.000 31.031 31.547 |
可以看到,五个Super PI的成绩非常接近,可以认为它们是同步进行的,并不是四个核心单独运行一个Super PI,再共同去完成另一个Super PI的方式。另外,从运行的时间来看,已经从4个Super PI的24秒级别到了5个Super PI的31秒级别。这里有一个比较有趣的算法,那就是如果说运行4个Super PI时是刚好满负荷的话(也就是运行一个Super PI要24秒),那么运行5个Super PI的话,多出来的Super PI由四个核心去完成的时间就应该是24/4=6秒,也就是说最终的时间应该是24+6=30秒。与实际测试得出来的31至32秒比较吻合。
6、运行六至八个Super PI程序
如果按照上述的公式去推测,那么运行6个Super PI时,耗掉的时间应该是(31/4+31=)38秒,7个Super PI则是44秒,8个Super PI应该就是50秒。我们来一起看看结果。
|
CPU占用率 |
测试成绩 |
运行六个Super PI |
100% |
38.250 36.062 38.297 38.875 38.219 38.578 |
运行七个Super PI |
100% |
44.594 43.547 41.844 44.219 42.406 44.768 43.422 |
运行八个Super PI |
100% |
50.562 48.609 43.703 51.078 43.187 50.719 47.906 51.047 |
从结果可以看到,实际测试的成绩与理论推断的结果很吻合,这个理论的多任务式测试完全可以反映出多核的“比例”式的工作模式。当然,这只是在这种纯理论环境中的结论,在实际复杂的程序,先后不一的程序中要表达出如此理论的结果是不容易的。
小结:下面我们来对每次运行的结果取平均值,纵向查看一下四核在运行1至8个Super PI时的耗时情况。
|
CPU占用率 |
测试成绩 |
运行1个Super PI |
25% |
19.1 |
运行2个Super PI |
50% |
20.5 |
运行3个Super PI |
75% |
21.2 |
运行4个Super PI |
100% |
24.4 |
运行5个Super PI |
100% |
31.5 |
运行6个Super PI |
100% |
38.0 |
运行7个Super PI |
100% |
43.5 |
运行8个Super PI |
100% |
48.4 |
从上表中可以大约得出这样的结论,从运行一个Super PI到4个,增加的幅度是比较小的,这完全符合多核的工作原理。而当到了超负荷的5个到8个Super PI时,表现出来的结果也是按照上述的公式,基本上是按照比例来增加的。例如运行4个需要的平均时间是24.4,而运行8个需要的平均时间是48.4,很吻合地是两倍的关系。
|