擂台:超大整数高精度快速算法-4 (快速计算千万阶乘),该怎么处理

擂台:超大整数高精度快速算法-4 (快速计算千万阶乘)
近几个月来,我把精力主要集中于改进大数算法核心乘法部分,终于取得了令人欣喜的进展,
将最最核心的*大数乘法算法效率提高了近一倍左右!(代价是手工编写了大量汇编代码)


从现有的数款   CPU   及不同的操作系统的测试来看,在计算“1千万的阶乘”时均提速了   50%   以上,
如10000000!:       Factorial_old(t0/s)           Factorial_new(t1/s)           (t0   -   t1)/t1   *   100%
        机台A                       68.929053                               43.584557                               58.15%
        机台B                       48.787876                               31.227357                               56.23%
        机台C                       65.850629                               42.810574                               53.82%
        机台D                       41.436746                               25.617276                               61.75%
其中,
        机台A   ——   Windows   XP   SP2,Intel   Pentium   4   CPU   2.93GHz,512MB   DDR   -   133MHz
        机台B   ——   Windows   XP   SP2,AMD   Athlon   64   Processor   3200+,1GB   DDR   -   200MHz
        机台C   ——   Windows   Vista   64,Intel   Pentium   4   CPU   3.00GHz,1GB   DDR   -   200MHz
        机台D   ——   Windows   XP   SP2,AMD   Athlon   64   X2   Dual   Core   Processor   4800+,2GB   DDR2   -   800MHz


如果大家感兴趣,请从下列两个站点之一下载(169   KB,本链接仅在正式发布前有效):
        http://hugecalc.ik8.com/download/Factorial.rar
        http://www.freewebs.com/maths/download/Factorial.rar

欢迎您将测试结果直接发布出来,或填表(我已制作好了   Excel   表)后反馈给我。。。


如果您发现计算“1千万的阶乘”还有更快的程序,请告诉我,必将千分相赠!

//=============================================================================

这是我继2004年连摆的三场“擂台”后,第四次摆“擂台”,
前几次无论是网友还是本人都收获颇丰,但愿这次也会有不俗的效果。


注:前几次“擂台”的链接如下:
        http://topic.csdn.net/T/20040510/14/3049738.html
        http://topic.csdn.net/T/20040721/19/3197332.html
        http://topic.csdn.net/T/20041010/17/3441530.html
近期还有个帖子也非常值得看,是关于汇编优化的,也是这次升级的技术储备之一:
        http://community.csdn.net/Expert/TopicView.asp?id=5505130

------解决方案--------------------
恭喜搂主!!!
本来一直有改进大数乘法的想法,无奈精力有限,新的程序始终没有做出来。我的算法出来以后,是否可胜楼主,没有确切把握。但在小规模的情况下,预计应该和楼主相当,没准还能超越楼主。小规模指在计算乘法时,由于被乘数,乘数相对较短,FFT,FNT无法发挥作用的情况下。典型值为:如计算1万的阶乘。
另外,请问搂住,据你的经验,在计算大数阶乘时,基于10^9的算法和基于2^32的乘法,哪一更有优势。