I'll toss in my benchmark results. :-)

                           GMPY performance benchmark

Decimal string to mpz:      MPIR 1.3.0           GMP 5.0.0
       10 digits:      0.00000021 sec      0.00000022 sec
      100 digits:      0.00000063 sec      0.00000066 sec
      500 digits:      0.00000318 sec      0.00000302 sec
     1000 digits:      0.00000716 sec      0.00000693 sec
     5000 digits:      0.00008661 sec      0.00006298 sec
    10000 digits:      0.00026616 sec      0.00016775 sec
    50000 digits:      0.00265514 sec      0.00168555 sec
   100000 digits:      0.00651324 sec      0.00444604 sec
   500000 digits:      0.04866513 sec      0.03830050 sec
  1000000 digits:      0.11429363 sec      0.09162606 sec
 10000000 digits:      2.31600404 sec      1.59257817 sec

Mpz to decimal string:      MPIR 1.3.0           GMP 5.0.0
       10 digits:      0.00000034 sec      0.00000035 sec
      100 digits:      0.00000105 sec      0.00000101 sec
      500 digits:      0.00000717 sec      0.00000589 sec
     1000 digits:      0.00001586 sec      0.00001262 sec
     5000 digits:      0.00014800 sec      0.00010783 sec
    10000 digits:      0.00041150 sec      0.00029588 sec
    50000 digits:      0.00420932 sec      0.00338085 sec
   100000 digits:      0.01185473 sec      0.00920948 sec
   500000 digits:      0.12125288 sec      0.08355007 sec
  1000000 digits:      0.31727976 sec      0.20738387 sec
 10000000 digits:      7.70821309 sec      3.94376493 sec

Mpz addition:               MPIR 1.3.0           GMP 5.0.0
       10 digits:      0.00000010 sec      0.00000009 sec
      100 digits:      0.00000010 sec      0.00000010 sec
      500 digits:      0.00000012 sec      0.00000011 sec
     1000 digits:      0.00000014 sec      0.00000013 sec
     5000 digits:      0.00000051 sec      0.00000050 sec
    10000 digits:      0.00000073 sec      0.00000073 sec
    50000 digits:      0.00000430 sec      0.00000429 sec
   100000 digits:      0.00000822 sec      0.00000818 sec
   500000 digits:      0.00003971 sec      0.00003959 sec
  1000000 digits:      0.00007838 sec      0.00007884 sec
 10000000 digits:      0.00357354 sec      0.00354370 sec
100000000 digits:      0.05413541 sec      0.05324940 sec

1NxN mpz multiplication:    MPIR 1.3.0           GMP 5.0.0
       10 digits:      0.00000009 sec      0.00000009 sec
      100 digits:      0.00000017 sec      0.00000018 sec
      500 digits:      0.00000124 sec      0.00000126 sec
     1000 digits:      0.00000414 sec      0.00000378 sec
     5000 digits:      0.00004730 sec      0.00004805 sec
    10000 digits:      0.00012850 sec      0.00012088 sec
    50000 digits:      0.00123085 sec      0.00109137 sec
   100000 digits:      0.00290135 sec      0.00280582 sec
   500000 digits:      0.01663006 sec      0.01763764 sec
  1000000 digits:      0.03379822 sec      0.03994881 sec
 10000000 digits:      0.68572044 sec      0.61115754 sec
100000000 digits:      6.44622898 sec      7.93841791 sec

5NxN mpz multiplication:    MPIR 1.3.0           GMP 5.0.0
       10 digits:      0.00000011 sec      0.00000010 sec
      100 digits:      0.00000038 sec      0.00000040 sec
      500 digits:      0.00000604 sec      0.00000652 sec
     1000 digits:      0.00002064 sec      0.00001863 sec
     5000 digits:      0.00023417 sec      0.00021708 sec
    10000 digits:      0.00064239 sec      0.00058681 sec
    50000 digits:      0.00608666 sec      0.00436574 sec
   100000 digits:      0.00847080 sec      0.00917852 sec
   500000 digits:      0.05356821 sec      0.06811212 sec
  1000000 digits:      0.12863311 sec      0.14648414 sec
 10000000 digits:      2.27829909 sec      2.17810798 sec
100000000 digits:     21.30186605 sec     27.38823199 sec

17NxN mpz multiplication:   MPIR 1.3.0           GMP 5.0.0
       10 digits:      0.00000010 sec      0.00000011 sec
      100 digits:      0.00000113 sec      0.00000108 sec
      500 digits:      0.00002057 sec      0.00002183 sec
     1000 digits:      0.00007094 sec      0.00006423 sec
     5000 digits:      0.00081254 sec      0.00071725 sec
    10000 digits:      0.00217992 sec      0.00197989 sec
    50000 digits:      0.02072028 sec      0.01620061 sec
   100000 digits:      0.02676870 sec      0.03553003 sec
   500000 digits:      0.20828125 sec      0.23191699 sec
  1000000 digits:      0.42618978 sec      0.52746260 sec
 10000000 digits:      5.84609008 sec      7.77125812 sec
100000000 digits:     74.05822110 sec    100.53587508 sec

2N/N mpz quotient:          MPIR 1.3.0           GMP 5.0.0
       10 digits:      0.00000018 sec      0.00000018 sec
      100 digits:      0.00000041 sec      0.00000037 sec
      500 digits:      0.00000234 sec      0.00000203 sec
     1000 digits:      0.00000729 sec      0.00000638 sec
     5000 digits:      0.00009662 sec      0.00009747 sec
    10000 digits:      0.00029030 sec      0.00029359 sec
    50000 digits:      0.00329851 sec      0.00279975 sec
   100000 digits:      0.00912671 sec      0.00663861 sec
   500000 digits:      0.07756643 sec      0.04376046 sec
  1000000 digits:      0.18805614 sec      0.10166769 sec
 10000000 digits:      3.46835899 sec      1.65955496 sec
100000000 digits:     57.28032804 sec     21.36209702 sec

5N/N mpz quotient:          MPIR 1.3.0           GMP 5.0.0
       10 digits:      0.00000021 sec      0.00000020 sec
      100 digits:      0.00000095 sec      0.00000085 sec
      500 digits:      0.00000846 sec      0.00000747 sec
     1000 digits:      0.00002843 sec      0.00002508 sec
     5000 digits:      0.00038293 sec      0.00038840 sec
    10000 digits:      0.00115942 sec      0.00117106 sec
    50000 digits:      0.01321486 sec      0.00858406 sec
   100000 digits:      0.03642362 sec      0.02081330 sec
   500000 digits:      0.31158978 sec      0.13223937 sec
  1000000 digits:      0.75152898 sec      0.30322999 sec
 10000000 digits:     13.88208699 sec      4.75602698 sec
100000000 digits:    228.71033311 sec     60.81353498 sec

17N/N mpz quotient:         MPIR 1.3.0           GMP 5.0.0
       10 digits:      0.00000028 sec      0.00000026 sec
      100 digits:      0.00000343 sec      0.00000287 sec
      500 digits:      0.00003360 sec      0.00002929 sec
     1000 digits:      0.00011155 sec      0.00010037 sec
     5000 digits:      0.00153300 sec      0.00132398 sec
    10000 digits:      0.00462759 sec      0.00346040 sec
    50000 digits:      0.05275750 sec      0.02910585 sec
   100000 digits:      0.14589587 sec      0.07089074 sec
   500000 digits:      1.24625611 sec      0.44447249 sec
  1000000 digits:      2.99730897 sec      1.01921391 sec
 10000000 digits:     55.43707895 sec     15.77324915 sec
100000000 digits:    915.73236585 sec    200.43964195 sec

2N/N mpz quot & rem:        MPIR 1.3.0           GMP 5.0.0
       10 digits:      0.00000026 sec      0.00000025 sec
      100 digits:      0.00000049 sec      0.00000045 sec
      500 digits:      0.00000242 sec      0.00000207 sec
     1000 digits:      0.00000738 sec      0.00000648 sec
     5000 digits:      0.00009728 sec      0.00009805 sec
    10000 digits:      0.00029146 sec      0.00029408 sec
    50000 digits:      0.00330097 sec      0.00279113 sec
   100000 digits:      0.00913051 sec      0.00663646 sec
   500000 digits:      0.07772918 sec      0.04375675 sec
  1000000 digits:      0.18767852 sec      0.10160725 sec
 10000000 digits:      3.47579503 sec      1.65892482 sec
100000000 digits:     57.20885682 sec     21.33134699 sec

Mpz squaring:               MPIR 1.3.0           GMP 5.0.0
       10 digits:      0.00000015 sec      0.00000013 sec
      100 digits:      0.00000025 sec      0.00000019 sec
      500 digits:      0.00000102 sec      0.00000090 sec
     1000 digits:      0.00000288 sec      0.00000267 sec
     5000 digits:      0.00003559 sec      0.00003249 sec
    10000 digits:      0.00009700 sec      0.00008516 sec
    50000 digits:      0.00088845 sec      0.00078422 sec
   100000 digits:      0.00201402 sec      0.00190495 sec
   500000 digits:      0.01089044 sec      0.01193870 sec
  1000000 digits:      0.02389035 sec      0.02675930 sec
 10000000 digits:      0.49165547 sec      0.42553878 sec
100000000 digits:      4.66965413 sec      5.35446501 sec

Mpz square root & rem:      MPIR 1.3.0           GMP 5.0.0
       10 digits:      0.00000030 sec      0.00000026 sec
      100 digits:      0.00000058 sec      0.00000051 sec
      500 digits:      0.00000167 sec      0.00000139 sec
     1000 digits:      0.00000316 sec      0.00000244 sec
     5000 digits:      0.00002410 sec      0.00002248 sec
    10000 digits:      0.00007203 sec      0.00006785 sec
    50000 digits:      0.00083096 sec      0.00080454 sec
   100000 digits:      0.00236414 sec      0.00226395 sec
   500000 digits:      0.02368536 sec      0.01876901 sec
  1000000 digits:      0.06033419 sec      0.04411175 sec
 10000000 digits:      1.18814492 sec      0.72805297 sec
100000000 digits:     21.50279713 sec     10.78387809 sec

Mpz cube root:              MPIR 1.3.0           GMP 5.0.0
       10 digits:      0.00000107 sec      0.00000127 sec
      100 digits:      0.00000274 sec      0.00000230 sec
      500 digits:      0.00000606 sec      0.00000347 sec
     1000 digits:      0.00001043 sec      0.00000497 sec
     5000 digits:      0.00007458 sec      0.00002220 sec
    10000 digits:      0.00021136 sec      0.00005912 sec
    50000 digits:      0.00224647 sec      0.00065954 sec
   100000 digits:      0.00607530 sec      0.00181209 sec
   500000 digits:      0.04742103 sec      0.01574672 sec
  1000000 digits:      0.10733093 sec      0.03698403 sec
 10000000 digits:      1.85199785 sec      0.60995245 sec
100000000 digits:     27.63473392 sec      9.01733184 sec

Mpz next_prime
10000000th prime:     69.74       sec    183.40       sec

This is from a Python program I hacked together last night. The unit
of measurement is decimal digits. I'll upload the program after I make
a few changes: sizes in bits, more tests, and parser friendly output.

casevh
-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-de...@googlegroups.com.
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.


Reply via email to