This section contains various benchmarks comparing mp++ to other multiprecision libraries. All benchmarks were run on an AMD Ryzen 1700 in a 64-bit GNU/Linux environment, using the GCC compiler. The benchmarking code is available here.
In addition to mp++, the following libraries are used in the benchmarks:
the Boost.Multiprecision library. Specifically, the
mpz_intinteger classes are employed in the benchmarks. The former is a multiprecision integer class adopting a small-value optimisation, the latter is a thin wrapper around the GMP
mpz_ttype. In the benchmarks, the
mpz_intclass is used only for ease of initialisation and destruction of GMP objects: all arithmetic operations are implemented by calling directly the GMP API;
the FLINT library. This library provides a data type called
fmpz_twhich, similarly to mp++, provides a small-value optimisation on top of GMP.
The benchmark results were last updated on 20180214, using the following package versions: