Hi all,

According to the GMP website, GMP 6 was apparently released 3 days ago.

They seem to have made some improvements for large operands, so I was of
course keen to compare with the upcoming MPIR 2.7 release (should be only a
few more days away now).

So here are the results from a circa 2008 AMD K10-2 Opteron machine with
the mpir_bench_two program.

The first two columns represent operand sizes, in bits.

The third column is GMP 6.0.0a. The fourth column is MPIR 2.7.0.

***HIGHER*** numbers are better:

  Squaring
         128       128 => 50422927     51153639
         512       512 => 12892203     13781556
        8192      8192 =>   151686         159689
      131072    131072 =>     2650           2773
     2097152   2097152 =>     83.7            104

Balanced Multiplication
         128       128 => 50345548     51153639
         512       512 =>  8655112      11410535
        8192      8192 =>   101107         110689
      131072    131072 =>     1787           1948
     2097152   2097152 =>     51.2           69.2

Unbalanced Multiplication
       15000     10000 =>    51197          53835
       20000     10000 =>    39069          42495
       30000     10000 =>    24891          25082
    16777216       512 =>      414              392
    16777216    262144 =>     13.2           13.4

  Divide
        8192        32 =>  1337305        1414864
        8192        64 =>  1329811        1323797
        8192       128 =>   932384          799122
        8192      4096 =>   249044         265375
      131072     65536 =>     2595           3036
     8388608   4194304 =>     11.8           9.80
        8192      8064 =>  8097331       8071930
    16777216    262144 =>     6.99           6.99

[Note: much of our implementation of mul and div is distinct from GMP, but
for example we use their toom8 implementation and make heavy use of their
division code, even though the main underlying division algorithms are
different.]

The figures show we need to improve our divrem_2 and asymptotically fast
(fft based) division. But overall I think we are looking good.

GMP 6 will of course totally thrash us on very modern chips due to new
instruction support that we don't yet have (avx, etc). It's very sad that
our assembly language expert Jason Moxham passed away in 2012. He will be
hard to replace and is sorely missed!

Bill.

-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mpir-devel+unsubscr...@googlegroups.com.
To post to this group, send email to mpir-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/mpir-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to