Comparison of miner performance with optimised gmp/mpfr libs

Comparison of standard vs optimised at -t 4 -f 32

Are there performance advantages to be gained by linking GapMiner against locally-compiled static GMP and MPFR libraries which have been optimised for the host CPU, as opposed to using the standard distro packages which are only configured for the host OS?

This test is a comparison between reported performance of standard GapMiner versus one compiled with optimised GMP/MPFR (where “optimised” means “compiled with GCC flags -static -march=native -mtune=native”).


Column labels map directly to miner output: pps is average primes per second, tps is average tests per second, gps is average gaps per second, glst is the size of the gaplist and l/s is the time in seconds to scan the gaplist at the reported rate of gaps per second.

standard gapminer

measureppstpsgps
mean38141712137317836
max45040214319521061
min37107411809517352
std151634804709

optimised gapminer

measureppstpsgps
mean40922813027519137
max47972415295122436
min39857612682918638
std158145077740

per cent improvement

measureppstpsgps
mean7.297.337.29
max6.516.816.53
min7.417.347.41
std4.295.684.37

The charts included below are for completeness. The figures given are the means and they differ from the pandas-produced means because, in order to support the different requirements of charting, the first 1/5th of the data is ignored in order to aid visual comparison. The chartline uses the full dataset.

Your browser is now constructing the plots, it will take a few moments ...

Replication:

./bin/gapminer-standard  -o localhost -p 31397 -u $(RPCUSER) -x $(RPCPASSWORD) -e -t 4 -f 32  > standard-miner.log 2>&1
./bin/gapminer-optimised -o localhost -p 31397 -u $(RPCUSER) -x $(RPCPASSWORD) -e -t 4 -f 32  > optimised-miner.log 2>&1