4核测试结果
1Core 2Cores 3Cores 4Cores10000! 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核效率提高就很有限了。 非常感谢你的测试。
超过2核效率还是可以大有提高的,主要发生在被乘数与乘数位数比比较大时。
(而阶乘算法,已被我优化到相乘的两数长度尽可能一致的地步)
换句话说,不论多少核,HugeCalc 都会尽力充分使用到它们。 在 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 说的有道理。不过,从楼主曾给的 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 还是非常充分地发挥了四核的功用。 原帖由 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]