Comparison of MPFR with Other Software
Updated for MPFR 2001 with
GMP 3.1.1.
32-bit machine
The following tables give the cpu time in milliseconds spent by
several systems or libraries for different operations, at different
precisions. These timings were obtained on a 400Mhz Xeon
(alexandre.medicis.polytechnique.fr) running Linux (libraries were
compiled with gcc 2.95.2 with option -O2). Thanks to the
Médicis center for
providing a machine with all those systems installed on it.
100 digits |
Maple V.5.1 |
MuPAD 1.4.2 |
MPF 3.1 |
MPFR 2001 |
Mathematica 4.0.1 |
Pari 2.0.14 alpha |
Magma V2.7-2 |
Ar. Explorer 1.00 |
iRRAM 2000-08-22 |
multiplication |
0.04 |
0.024 |
0.0037 |
0.0038 |
0.020 |
0.003 |
0.021 |
0.017 |
0.006 |
division |
0.15 |
0.027 |
0.007 |
0.0080 |
0.143 |
0.007 |
0.0351 |
0.018 |
0.010 |
square root |
0.29 |
0.072 |
0.0173 |
0.0115 |
0.18 |
0.032 |
0.1419 |
0.10 |
0.078 |
exponential |
1.4 |
0.47 |
n/a |
0.149 |
0.94 |
0.16 |
1.1191 |
n/a |
0.522 |
logarithm |
2.3 |
0.82 |
n/a |
0.344 |
1.24 |
0.35 |
2.0211 |
n/a |
1.45 |
sin and cos |
|
|
n/a |
1.35 |
|
|
|
n/a |
|
1000 digits |
Maple V.5.1 |
MuPAD 1.4.2 |
MPF 3.1 |
MPFR 2001 |
Mathematica 4.0.1 |
Pari 2.0.14 alpha |
Magma V2.7-2 |
Ar. Explorer 1.00 |
iRRAM 2000-08-22 |
multiplication |
1.1 |
0.48 |
0.142 |
0.145 |
0.37 |
0.18 |
1.089 |
0.51 |
0.17 |
division |
11.3 |
0.56 |
0.229 |
0.228 |
1.12 |
0.25 |
1.301 |
0.40 |
0.287 |
square root |
15.0 |
1.5 |
0.355 |
0.177 |
1.6 |
0.70 |
3.41 |
1.3 |
0.364 |
exponential |
53 |
35 |
n/a |
6.24 |
35 |
14 |
78.51 |
n/a |
21.1 |
logarithm |
69 |
52 |
n/a |
7.76 |
31 |
23 |
118.9 |
n/a |
18.8 |
sin and cos |
|
|
n/a |
36.8 |
|
|
|
n/a |
|
10000 digits |
Maple V.5.1 |
MuPAD 1.4.2 |
MPF 3.1 |
MPFR 2001 |
Mathematica 4.0.1 |
Pari 2.0.14 alpha |
Magma V2.7-2 |
Ar. Explorer 1.00 |
iRRAM 2000-08-22 |
multiplication |
39 |
45 |
4.7 |
4.8 |
15 |
17 |
104.5 |
50 |
4.88 |
division |
1130 |
49 |
10.1 |
10.1 |
43 |
22 |
116 |
37 |
10.5 |
square root |
1390 |
160 |
15.7 |
7.5 |
55 |
72 |
363 |
88 |
15.1 |
exponential |
5330 |
9690 |
n/a |
620 |
930 |
3680 |
22360 |
n/a |
3740 |
logarithm |
5660 |
15720 |
n/a |
343 |
1240 |
6750 |
35419 |
n/a |
1070 |
sin and cos |
|
|
n/a |
3280 |
|
|
|
n/a |
|
The source file of these tests is available for
Maple,
MuPAD,
MPF from GMP,
MPFR,
Mathematica,
Pari,
and Magma.
64-bit machine
The following timings were obtained, with the stimulation and help
of Bruno Salvy, on a 500Mhz Compaq XP/1000 (aka Alpha EV6) with gcc
2.95.2 under OSF/1 4.0 with 640MB of main memory
(leon1.medicis.polytechnique.fr).
100 digits |
Maple V.5.1 |
MPF 3.1 |
MPFR 2001 |
Mathematica 3.0 |
Pari 2.0.14 alpha |
Magma V2.7-2 |
multiplication |
.0125 |
0.000970 |
0.000965 |
0.0114995 |
0.0012 |
0.0033 |
division |
.0278 |
0.00212 |
0.0025 |
0.108996 |
0.0065 |
0.0134 |
square root |
.0847 |
0.00505 |
0.0043 |
0.287655 |
0.028 |
0.0483 |
exponential |
.583 |
n/a |
0.058 |
0.871632 |
0.17 |
0.4516 |
logarithm |
1.08 |
n/a |
0.119 |
0.836633 |
0.38 |
0.8133 |
sin and cos |
|
n/a |
0.37 |
|
|
|
1000 digits |
Maple V.5.1 |
MPF 3.1 |
MPFR 2001 |
Mathematica 3.0 |
Pari 2.0.14 alpha |
Magma V2.7-2 |
multiplication |
.185 |
0.0232 |
0.0228 |
0.101663 |
0.067 |
0.067 |
division |
.721 |
0.0472 |
0.0460 |
0.461648 |
0.116 |
0.116 |
square root |
1.28 |
0.0709 |
0.0387 |
0.988294 |
0.37 |
0.5 |
exponential |
14.2 |
n/a |
1.27 |
9.86627 |
7.44 |
7.33 |
logarithm |
15.8 |
n/a |
1.60 |
19.3326 |
12.9 |
14.01 |
sin and cos |
|
n/a |
6.13 |
|
|
|
10000 digits |
Maple V.5.1 |
MPF 3.1 |
MPFR 2001 |
Mathematica 3.0 |
Pari 2.0.14 alpha |
Magma V2.7-2 |
multiplication |
7.20 |
0.859 |
0.86 |
7.5997 |
6.7 |
6.17 |
division |
57.0 |
1.85 |
1.83 |
22.9991 |
7.6 |
6.7 |
square root |
73.9 |
2.74 |
1.36 |
34.7653 |
26.0 |
21.7 |
exponential |
1590. |
n/a |
110 |
1615.94 |
1600 |
1366 |
logarithm |
1410. |
n/a |
63.6 |
7418.54 |
2550 |
2150 |
sin and cos |
|
n/a |
500. |
|
|
|
Back to the MPFR
page.