back to index
libmpdec
decimal benchmarks
multi precision benchmarks
Python/Java benchmarks

Benchmark against other decimal arithmetic libraries

This benchmark runs a modified version of the escape time algorithm for drawing a Mandelbrot set. It was chosen simply because it contains a large number of multiplications, additions and subtractions.


Libraries and their data types

The arbitrary precision data types and the IEEE types are compatible.

arbitrary precisionIEEE 16 digitsIEEE 34 digits
libmpdecmpd--
DecNumberdecNumberdecDoubleDecQuad
IntelRDFPMathLib-bid64bid128

64-bit Ubuntu, 3.16GHz Core 2 Duo, compiled with 64 bit libs, 10000000 iterations

      mpd      decDoubledecQuaddecNumber   bid64      bid128   
16 digits4.80s6.01s-7.69s2.42s-
34 digits6.71s-11.43s13.20s-8.11s
9 digits4.45s--5.76s--
19 digits4.64s--9.49s--
38 digits6.48s--16.08s--

64-bit Ubuntu, 3.16GHz Core 2 Duo, compiled with 32 bit libs, 10000000 iterations

      mpd      decDoubledecQuaddecNumber   bid64      bid128   
16 digits7.84s6.55s-10.46s4.67s-
34 digits11.98s-13.88s17.85s-18.79s
9 digits6.61s--7.52s--
19 digits8.06s--10.10s--
38 digits11.93s--15.95s--

32-bit Linux, 1.2GHz Celeron, 1000000 iterations

      mpd      decDoubledecQuaddecNumber   bid64      bid128   
16 digits3.03s2.45s-4.29s1.90s-
34 digits5.16s-5.02s7.16s-11.06s
9 digits2.36s--2.93s--
19 digits2.93s--4.07s--
38 digits4.96s--6.93s--


Contact:

Stefan Krah <website @ bytereef.org>