4.8 Getting the Best Efficiency Out of MPFR
Here are a few hints to get the best efficiency out of MPFR:
- you should avoid allocating and clearing variables. Reuse variables
      whenever possible, allocate or clear outside of loops, pass
      temporary variables to subroutines instead of allocating them inside
      the subroutines;
- use mpfr_swapinstead ofmpfr_setwhenever possible.
      This will avoid copying the significands;
- avoid using MPFR from C++, or make sure your C++ interface does not
      perform unnecessary allocations or copies. Slowdowns of up to a
      factor 15 have been observed on some applications with a C++ interface;
- MPFR functions work in-place: to compute a = a + byou don’t
      need an auxiliary variable, you can directly writempfr_add (a, a, b, ...).