Comparison of multiple-precision floating-point software

Maple Mathematica Sage GMP MPF MPFR PARI NTL CLN ARB MPFI
commercial commercial free (GPL) free (LGPL) free (LGPL) free (GPL) free (GPL) free (GPL) free (GPL) free (LGPL)
12.00 6.0.1 5.9 5.0.2 3.1.2 2.5.0 5.5.2 1.3.2 2.7.0 1.5.1
interactive interactive interactive library library library library library library library

The following tables give the cpu time in milliseconds spent by several systems or libraries for different operations, at different precisions (in digits). Those timings were obtained on a 24-core Intel Xeon X7460 at 2.66GHz (sage.math.washington.edu) with 717GB of swap and 132GB of RAM under Linux 2.6.24-28-server. The version of GCC is 4.2.4 (Ubuntu 4.2.4-1ubuntu4).

GMP was configured with --disable-shared. The timings of MPFR and ARB were obtained with GMP 5.1.2, configured with --with-gmp-build and after make tune (ARB was configured with FLINT 2.4.1, and its timings were obtained on boxen.math.washington.edu, a machine with the same hardware, idem for MPFI). PARI was built with GMP support. NTL was built with native support. CLN has been built with GMP support.

An entry "na" means a function not available in the corresponding software tool. The boldface entries are the fastest in each row.

100 digits Maple Mathematica Sage MPF MPFR Pari NTL CLN ARB MPFI
mult 0.0020 0.0006 0.00047 0.00011 0.00014 0.00012 0.000367 0.00018 0.00014 0.000265
sqr 0.00045 0.00009 0.00011 0.00011 0.00015 0.00012 0.000210
div 0.0029 0.0017 0.00067 0.00031 0.00030 0.00034 0.00070 0.00049 0.00037 0.00068
sqrt 0.032 0.0018 0.00106 0.00056 0.00050 0.00049 0.00442 0.00067 0.00061 0.00098
exp 0.070 0.019 0.0101 na 0.0084 0.0106 0.069 0.0197 0.0020 0.0143
log 0.100 0.028 0.0171 na 0.0121 0.0117 0.386 0.0278 0.0020 0.0208
sin 0.131 0.017 0.0098 na 0.0083 0.0095 0.074 0.0253 0.0025 0.0177
cos 0.119 0.018 0.0068 na 0.0059 0.0085 0.082 0.0212 0.0025 0.0139
acos 0.450 0.053 0.052 na 0.049 0.028 na 0.033 0.0067 0.088
atan 0.280 0.048 0.046 na 0.043 0.026 na 0.028 0.0024 0.075
1000 digits Maple Mathematica Sage MPF MPFR Pari NTL CLN ARB MPFI
mult 0.0200 0.007 0.0034 0.0036 0.0028 0.0035 0.0137 0.0037 0.0030 0.0059
sqr 0.0023 0.0024 0.0017 0.0024 0.0026 0.0019 0.0035
div 0.0200 0.015 0.0052 0.0041 0.0042 0.0060 0.0201 0.0080 0.0040 0.0096
sqrt 0.160 0.011 0.0058 0.0050 0.0047 0.0047 0.187 0.0063 0.0049 0.0091
exp 0.90 0.63 0.185 na 0.181 0.364 5.96 0.332 0.105 0.359
log 0.300 0.67 0.174 na 0.160 0.203 48.1 0.400 0.108 0.322
sin 1.89 0.41 0.168 na 0.165 0.310 6.78 0.291 0.120 0.364
cos 1.91 0.40 0.156 na 0.155 0.300 6.98 0.266 0.119 0.347
acos 2.50 0.82 0.37 na 0.35 0.73 na 0.49 0.15 0.71
atan 2.10 0.80 0.36 na 0.33 0.72 na 0.45 0.12 0.68
10000 digits Maple Mathematica Sage MPF MPFR Pari NTL CLN ARB MPFI
mult 0.80 0.28 0.092 0.107 0.091 0.108 0.508 0.106 0.095 0.188
sqr 0.063 0.076 0.060 0.076 0.076 0.063 0.123
div 0.80 0.56 0.196 0.198 0.181 0.264 1.662 0.503 0.194 0.364
sqrt 3.70 0.36 0.193 0.178 0.175 0.176 20.48 0.295 0.176 0.347
exp 50.0 17.6 8.2 na 8.5 12.6 1560 13.6 5.5 17.3
log 20.0 15.9 7.3 na 6.9 8.2 16080 16.7 7.0 13.9
sin 93.0 44.4 15.3 na 15.4 21.7 1650 17.6 15.3 31.7
cos 92.0 44.4 15.3 na 15.4 21.6 7710 16.5 15.4 31.9
acos 87.0 91.2 15.1 na 15.0 31.1 na 28.6 9.8 30.0
atan 82.0 87.2 13.7 na 13.7 31.0 na 27.0 9.1 27.3

The source file of these tests is available for Maple, Mathematica, Sage, MPF, MPFR, Pari, NTL, CLN, ARB, MPFI.

Please acknowledge "National Science Foundation Grant No. DMS-0821725" in any published work that uses this computer.

Back to the MPFR 3.1.2 page.