风云剑 发表于 2008-3-14 21:18:49

4核测试结果

            1Core      2Cores       3Cores       4Cores
10000!      0.006939   0.004783   0.004526   0.004241
100000!   0.111683   0.065292   0.056939   0.057564
1000000!    1.650965   0.903088   0.786982   0.759867
10000000!24.454656    12.428176    10.759071    10.153821
20000000!51.069048    25.704179    22.104459    20.886368比较意外,超过2核效率提高就很有限了。

gxqcn 发表于 2008-3-14 21:26:16

非常感谢你的测试。

超过2核效率还是可以大有提高的,主要发生在被乘数与乘数位数比比较大时。
(而阶乘算法,已被我优化到相乘的两数长度尽可能一致的地步)
换句话说,不论多少核,HugeCalc 都会尽力充分使用到它们。

gxqcn 发表于 2008-3-14 21:34:50

在 CSDN 上的“200秒,可以做什么?——测测你的电脑精确计算能力”第40楼测试数据如下:+-------------+-------------+-----------+
|      n!   |    digits   |    A2-1   |
|-------------|-------------|-----------|
|   10,000! |      35,660 |0.003053 |
|    100,000! |   456,574 |0.045011 |
|    200,000! |   973,351 |0.096908 |
|    400,000! |   2,067,110 |0.203005 |
|    800,000! |   4,375,040 |0.490525 |
|1,000,000! |   5,565,709 |0.638503 |
| 10,000,000! |65,657,060 |8.841480 |
| 20,000,000! | 137,334,715 | 18.082648 |
| 40,000,000! | 286,710,625 | 39.994693 |
+-------------+-------------+-----------+其配置是:6320 上400外频, S3的主板, 2G DDR2 800, 1950 pro 512显存...
应该是双核吧,但感觉似乎比楼主的还略快点呢。。。

mathe 发表于 2008-3-15 08:15:50

多核提高速度有限很正常,多线程之间线程通讯开销也是不小的,线程越多,这部分开销越大。
通常这个需要开发者自己去试验,只有在数据规模充分大的时候,使用更多的核才有好处

gxqcn 发表于 2008-3-15 08:50:32

mathe 说的有道理。不过,从楼主曾给的 HugeCalc vs. GMP 测试数据的最后几组结果来看:原帖由 风云剑 于 2008-3-12 19:27 发表 http://images.5d6d.net/dz60/common/back.gif
测试4核 ...
现在计算长度(bits): 1048576
    GMP   包计算时间(us):32993.579
    HugeCalc包计算时间(us):8881.855
现在计算长度(bits): 33554432
    GMP   包计算时间(us):1312180.459
    HugeCalc包计算时间(us):344739.904
现在计算长度(bits): 67108864
    GMP   包计算时间(us):2920021.399
    HugeCalc包计算时间(us):659620.706
现在计算长度(bits): 100663296
    GMP   包计算时间(us):4192419.428
    HugeCalc包计算时间(us):1119119.609
HugeCalc 与 GMP 的效率比依次为:3.715、3.806、4.427、3.746

可看出 HugeCalc 还是非常充分地发挥了四核的功用。

风云剑 发表于 2008-3-15 10:28:48

原帖由 gxqcn 于 2008-3-14 21:34 发表 http://images.5d6d.net/dz60/common/back.gif
...
其配置是:6320 上400外频, S3的主板, 2G DDR2 800, 1950 pro 512显存...
应该是双核吧,但感觉似乎比楼主的还略快点呢。。。
这很正常,我那个四核是AMD9500,是最低级的四核。买的时候我就知道拼不过高级双核,只是为了调试多核程序用的。
而且6320的外频是266吧,这个给超到了400
页: [1]
查看完整版本: 4核测试结果