Implementation notes: amd64, par, crypto_dh

Computer: par
Architecture: amd64
CPU ID: GenuineIntel-000406c3-bfebfbff
CPU cycles/second: 1600000000...1600000000 (amd64cpuinfo)
SUPERCOP version: 20161026
Benchmark dates: 20161214...20161215

crypto_dh

TimeRelative timePrimitiveImplementationCompiler
214757201.00clauscrypto_dh/claus/gmpg++ -march=native -mcpu=native -O3 (6.2.1 20160830)
224782801.05clauscrypto_dh/claus/opensslgcc -march=native -mcpu=native -O2
clauscrypto_dh/claus/cryptoppg++ -march=native -mcpu=native -O3 (6.2.1 20160830)
clauscrypto_dh/claus/ntlg++ -march=native -mcpu=native -O3 (6.2.1 20160830)
10992001.00curve2251crypto_dh/curve2251/relic/amd64-clmulgcc -march=native -mcpu=native -O2 (6.2.1 20160830)
21340801.94curve2251crypto_dh/curve2251/relic/amd64-ssse3gcc -funroll-loops -march=native -mcpu=native -O3
55313405.03curve2251crypto_dh/curve2251/mpfqgcc -funroll-loops -march=native -mcpu=native -O3
curve2251crypto_dh/curve2251/relic/amd64-avxgcc -march=native -mcpu=native -O3
18009201.00curve25519crypto_dh/curve25519/refgcc -funroll-loops -march=native -mcpu=native -O2 (6.2.1 20160830)
21330801.18curve25519crypto_dh/curve25519/mpfqgcc -funroll-loops -march=native -mcpu=native -O3
11718401.00ecfp256ecrypto_dh/ecfp256e/v01/w8s8gcc -funroll-loops -march=native -mcpu=native -O3 (6.2.1 20160830)
12047601.03ecfp256ecrypto_dh/ecfp256e/v01/w8s4gcc -march=native -mcpu=native -O3
12221401.04ecfp256ecrypto_dh/ecfp256e/v01/w8s2gcc -funroll-loops -march=native -mcpu=native -O3 (6.2.1 20160830)
12608801.08ecfp256ecrypto_dh/ecfp256e/v01/w8s1gcc -march=native -mcpu=native -O3
19444001.66ecfp256ecrypto_dh/ecfp256e/v01/vargcc -march=native -mcpu=native -O3
14255001.00ecfp256hcrypto_dh/ecfp256h/v01/w8s4gcc -march=native -mcpu=native -O3 (6.2.1 20160830)
14389001.01ecfp256hcrypto_dh/ecfp256h/v01/w8s8gcc -funroll-loops -march=native -mcpu=native -O2
14761601.04ecfp256hcrypto_dh/ecfp256h/v01/w8s2gcc -march=native -mcpu=native -O3 (6.2.1 20160830)
15162401.06ecfp256hcrypto_dh/ecfp256h/v01/w8s1gcc -march=native -mcpu=native -O3 (6.2.1 20160830)
24203201.70ecfp256hcrypto_dh/ecfp256h/v01/vargcc -march=native -mcpu=native -O3 (6.2.1 20160830)
20334401.00ecfp256icrypto_dh/ecfp256i/v01/vargcc -march=native -mcpu=native -O3 (6.2.1 20160830)
ecfp256icrypto_dh/ecfp256i/v01/w8s1gcc -march=native -mcpu=native -O3 (6.2.1 20160830)
ecfp256icrypto_dh/ecfp256i/v01/w8s2gcc -march=native -mcpu=native -O3 (6.2.1 20160830)
ecfp256icrypto_dh/ecfp256i/v01/w8s4gcc -march=native -mcpu=native -O3 (6.2.1 20160830)
ecfp256icrypto_dh/ecfp256i/v01/w8s8gcc -march=native -mcpu=native -O3 (6.2.1 20160830)
12516001.00ecfp256qcrypto_dh/ecfp256q/v01/w8s8gcc -funroll-loops -march=native -mcpu=native -O3 (6.2.1 20160830)
12581801.01ecfp256qcrypto_dh/ecfp256q/v01/w8s4gcc -march=native -mcpu=native -O3
12802601.02ecfp256qcrypto_dh/ecfp256q/v01/w8s2gcc -march=native -mcpu=native -O3
13441801.07ecfp256qcrypto_dh/ecfp256q/v01/w8s1gcc -funroll-loops -march=native -mcpu=native -O3 (6.2.1 20160830)
20239601.62ecfp256qcrypto_dh/ecfp256q/v01/vargcc -march=native -mcpu=native -O3
14631801.00ecfp256scrypto_dh/ecfp256s/v01/w8s8gcc -march=native -mcpu=native -O3 (6.2.1 20160830)
15243201.04ecfp256scrypto_dh/ecfp256s/v01/w8s2gcc -march=native -mcpu=native -O3 (6.2.1 20160830)
15293201.05ecfp256scrypto_dh/ecfp256s/v01/w8s4gcc -march=native -mcpu=native -O3 (6.2.1 20160830)
15819401.08ecfp256scrypto_dh/ecfp256s/v01/w8s1gcc -march=native -mcpu=native -O3 (6.2.1 20160830)
25363001.73ecfp256scrypto_dh/ecfp256s/v01/vargcc -march=native -mcpu=native -O3 (6.2.1 20160830)
70300801.00ed448goldilockscrypto_dh/ed448goldilocks/64 (2014-10-12)gcc -funroll-loops -march=native -mcpu=native -O2 (6.2.1 20160830)
72616801.03ed448goldilockscrypto_dh/ed448goldilocks/amd64gcc -march=native -mcpu=native -O3
100287601.43ed448goldilockscrypto_dh/ed448goldilocks/32gcc -funroll-loops -march=native -mcpu=native -O2 (6.2.1 20160830)
ed448goldilockscrypto_dh/ed448goldilocks/arm32gcc -march=native -mcpu=native -O3
148925201.00ed521gscrypto_dh/ed521gs/ref (1.0)gcc -march=native -mcpu=native -Os (6.2.1 20160830)
gls1271crypto_dh/gls1271/ref4gcc -march=native -mcpu=native -O3
5544601.00gls254crypto_dh/gls254/refgcc -funroll-loops -march=native -mcpu=native -O2 (6.2.1 20160830)
7452601.34gls254crypto_dh/gls254/optgcc -march=native -mcpu=native -O3
8104801.46gls254crypto_dh/gls254/protgcc -march=native -mcpu=native -O3
8108601.00gls254protcrypto_dh/gls254prot/protgcc -march=native -mcpu=native -O3 (6.2.1 20160830)
gls254protcrypto_dh/gls254prot/optgcc -march=native -mcpu=native -O3 (6.2.1 20160830)
hecfp127icrypto_dh/hecfp127i/v02/vargcc -march=native -mcpu=native -O3
hecfp127icrypto_dh/hecfp127i/v02/w8s01gcc -march=native -mcpu=native -O3
hecfp127icrypto_dh/hecfp127i/v02/w8s02gcc -march=native -mcpu=native -O3
hecfp127icrypto_dh/hecfp127i/v02/w8s04gcc -march=native -mcpu=native -O3
hecfp127icrypto_dh/hecfp127i/v02/w8s08gcc -march=native -mcpu=native -O3
hecfp127icrypto_dh/hecfp127i/v02/w8s16gcc -march=native -mcpu=native -O3
hecfp127icrypto_dh/hecfp127i/v02/w8s32gcc -march=native -mcpu=native -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/varglv4gcc -march=native -mcpu=native -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s01glv4gcc -march=native -mcpu=native -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s02glv4gcc -march=native -mcpu=native -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s04glv4gcc -march=native -mcpu=native -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s08glv4gcc -march=native -mcpu=native -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s16glv4gcc -march=native -mcpu=native -O3
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s32glv4gcc -march=native -mcpu=native -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/varglv4gcc -march=native -mcpu=native -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s01glv4gcc -march=native -mcpu=native -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s02glv4gcc -march=native -mcpu=native -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s04glv4gcc -march=native -mcpu=native -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s08glv4gcc -march=native -mcpu=native -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s16glv4gcc -march=native -mcpu=native -O3
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s32glv4gcc -march=native -mcpu=native -O3
hecfp128icrypto_dh/hecfp128i/v02/vargcc -march=native -mcpu=native -O3
hecfp128icrypto_dh/hecfp128i/v02/w8s01gcc -march=native -mcpu=native -O3
hecfp128icrypto_dh/hecfp128i/v02/w8s02gcc -march=native -mcpu=native -O3
hecfp128icrypto_dh/hecfp128i/v02/w8s04gcc -march=native -mcpu=native -O3
hecfp128icrypto_dh/hecfp128i/v02/w8s08gcc -march=native -mcpu=native -O3
hecfp128icrypto_dh/hecfp128i/v02/w8s16gcc -march=native -mcpu=native -O3
hecfp128icrypto_dh/hecfp128i/v02/w8s32gcc -march=native -mcpu=native -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/varglv8gcc -march=native -mcpu=native -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s01glv8gcc -march=native -mcpu=native -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s02glv8gcc -march=native -mcpu=native -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s04glv8gcc -march=native -mcpu=native -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s08glv8gcc -march=native -mcpu=native -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s16glv8gcc -march=native -mcpu=native -O3
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s32glv8gcc -march=native -mcpu=native -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/vargcc -march=native -mcpu=native -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s01gcc -march=native -mcpu=native -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s02gcc -march=native -mcpu=native -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s04gcc -march=native -mcpu=native -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s08gcc -march=native -mcpu=native -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s16gcc -march=native -mcpu=native -O3
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s32gcc -march=native -mcpu=native -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/varglv8gcc -march=native -mcpu=native -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s01glv8gcc -march=native -mcpu=native -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s02glv8gcc -march=native -mcpu=native -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s04glv8gcc -march=native -mcpu=native -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s08glv8gcc -march=native -mcpu=native -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s16glv8gcc -march=native -mcpu=native -O3
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s32glv8gcc -march=native -mcpu=native -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/vargcc -march=native -mcpu=native -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s01gcc -march=native -mcpu=native -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s02gcc -march=native -mcpu=native -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s04gcc -march=native -mcpu=native -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s08gcc -march=native -mcpu=native -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s16gcc -march=native -mcpu=native -O3
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s32gcc -march=native -mcpu=native -O3
hectorcrypto_dh/hector/refgcc -march=native -mcpu=native -O3
jacfp127icrypto_dh/jacfp127i/v01/vargcc -march=native -mcpu=native -O3
jacfp127icrypto_dh/jacfp127i/v01/w4s01gcc -march=native -mcpu=native -O3
jacfp127icrypto_dh/jacfp127i/v01/w4s02gcc -march=native -mcpu=native -O3
jacfp127icrypto_dh/jacfp127i/v01/w4s04gcc -march=native -mcpu=native -O3
jacfp127icrypto_dh/jacfp127i/v01/w4s08gcc -march=native -mcpu=native -O3
jacfp127icrypto_dh/jacfp127i/v01/w4s16gcc -march=native -mcpu=native -O3
jacfp127icrypto_dh/jacfp127i/v01/w4s32gcc -march=native -mcpu=native -O3
jacfp127icrypto_dh/jacfp127i/v01/w8s01gcc -march=native -mcpu=native -O3
jacfp127icrypto_dh/jacfp127i/v01/w8s02gcc -march=native -mcpu=native -O3
jacfp127icrypto_dh/jacfp127i/v01/w8s04gcc -march=native -mcpu=native -O3
jacfp127icrypto_dh/jacfp127i/v01/w8s08gcc -march=native -mcpu=native -O3
jacfp127icrypto_dh/jacfp127i/v01/w8s16gcc -march=native -mcpu=native -O3
jacfp127icrypto_dh/jacfp127i/v01/w8s32gcc -march=native -mcpu=native -O3
jacfp128bkcrypto_dh/jacfp128bk/v01/varglv4gcc -march=native -mcpu=native -O3
jacfp128bkcrypto_dh/jacfp128bk/v01/w4s01glv4gcc -march=native -mcpu=native -O3
jacfp128bkcrypto_dh/jacfp128bk/v01/w4s02glv4gcc -march=native -mcpu=native -O3
jacfp128bkcrypto_dh/jacfp128bk/v01/w4s04glv4gcc -march=native -mcpu=native -O3
jacfp128bkcrypto_dh/jacfp128bk/v01/w4s08glv4gcc -march=native -mcpu=native -O3
jacfp128bkcrypto_dh/jacfp128bk/v01/w4s16glv4gcc -march=native -mcpu=native -O3
jacfp128bkcrypto_dh/jacfp128bk/v01/w4s32glv4gcc -march=native -mcpu=native -O3
jacfp128bkcrypto_dh/jacfp128bk/v01/w8s01glv4gcc -march=native -mcpu=native -O3
jacfp128bkcrypto_dh/jacfp128bk/v01/w8s02glv4gcc -march=native -mcpu=native -O3
jacfp128bkcrypto_dh/jacfp128bk/v01/w8s04glv4gcc -march=native -mcpu=native -O3
jacfp128bkcrypto_dh/jacfp128bk/v01/w8s08glv4gcc -march=native -mcpu=native -O3
jacfp128bkcrypto_dh/jacfp128bk/v01/w8s16glv4gcc -march=native -mcpu=native -O3
jacfp128bkcrypto_dh/jacfp128bk/v01/w8s32glv4gcc -march=native -mcpu=native -O3
12492201.00k298crypto_dh/k298/refgcc -funroll-loops -march=native -mcpu=native -O3 (6.2.1 20160830)
kumfp127gcrypto_dh/kumfp127g/v02/vargcc -march=native -mcpu=native -O3
kumfp128gcrypto_dh/kumfp128g/v02/vargcc -march=native -mcpu=native -O3
kumfp61e2gcrypto_dh/kumfp61e2g/v01/vargcc -march=native -mcpu=native -O3
kumfp64e2gcrypto_dh/kumfp64e2g/v01/vargcc -march=native -mcpu=native -O3
kumjacfp127gcrypto_dh/kumjacfp127g/v01/vargcc -march=native -mcpu=native -O3
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s01gcc -march=native -mcpu=native -O3
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s02gcc -march=native -mcpu=native -O3
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s04gcc -march=native -mcpu=native -O3
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s08gcc -march=native -mcpu=native -O3
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s16gcc -march=native -mcpu=native -O3
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s32gcc -march=native -mcpu=native -O3
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s01gcc -march=native -mcpu=native -O3
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s02gcc -march=native -mcpu=native -O3
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s04gcc -march=native -mcpu=native -O3
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s08gcc -march=native -mcpu=native -O3
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s16gcc -march=native -mcpu=native -O3
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s32gcc -march=native -mcpu=native -O3
22995601.00kummercrypto_dh/kummer/refgcc -march=native -mcpu=native -O3 (6.2.1 20160830)
177765801.00nist521gscrypto_dh/nist521gs/ref (1.0)gcc -march=native -mcpu=native -Os (6.2.1 20160830)
54031001.00nistp256crypto_dh/nistp256/refgcc -march=native -mcpu=native -O3 (6.2.1 20160830)
73306801.36nistp256crypto_dh/nistp256/wblgcc -march=native -mcpu=native -O3 (6.2.1 20160830)
prjfp127icrypto_dh/prjfp127i/v01/vargcc -march=native -mcpu=native -O3
prjfp127icrypto_dh/prjfp127i/v01/w4s01gcc -march=native -mcpu=native -O3
prjfp127icrypto_dh/prjfp127i/v01/w4s02gcc -march=native -mcpu=native -O3
prjfp127icrypto_dh/prjfp127i/v01/w4s04gcc -march=native -mcpu=native -O3
prjfp127icrypto_dh/prjfp127i/v01/w4s08gcc -march=native -mcpu=native -O3
prjfp127icrypto_dh/prjfp127i/v01/w4s16gcc -march=native -mcpu=native -O3
prjfp127icrypto_dh/prjfp127i/v01/w4s32gcc -march=native -mcpu=native -O3
prjfp127icrypto_dh/prjfp127i/v01/w8s01gcc -march=native -mcpu=native -O3
prjfp127icrypto_dh/prjfp127i/v01/w8s02gcc -march=native -mcpu=native -O3
prjfp127icrypto_dh/prjfp127i/v01/w8s04gcc -march=native -mcpu=native -O3
prjfp127icrypto_dh/prjfp127i/v01/w8s08gcc -march=native -mcpu=native -O3
prjfp127icrypto_dh/prjfp127i/v01/w8s16gcc -march=native -mcpu=native -O3
prjfp127icrypto_dh/prjfp127i/v01/w8s32gcc -march=native -mcpu=native -O3
prjfp128bkcrypto_dh/prjfp128bk/v01/varglv4gcc -march=native -mcpu=native -O3
prjfp128bkcrypto_dh/prjfp128bk/v01/w4s01glv4gcc -march=native -mcpu=native -O3
prjfp128bkcrypto_dh/prjfp128bk/v01/w4s02glv4gcc -march=native -mcpu=native -O3
prjfp128bkcrypto_dh/prjfp128bk/v01/w4s04glv4gcc -march=native -mcpu=native -O3
prjfp128bkcrypto_dh/prjfp128bk/v01/w4s08glv4gcc -march=native -mcpu=native -O3
prjfp128bkcrypto_dh/prjfp128bk/v01/w4s16glv4gcc -march=native -mcpu=native -O3
prjfp128bkcrypto_dh/prjfp128bk/v01/w4s32glv4gcc -march=native -mcpu=native -O3
prjfp128bkcrypto_dh/prjfp128bk/v01/w8s01glv4gcc -march=native -mcpu=native -O3
prjfp128bkcrypto_dh/prjfp128bk/v01/w8s02glv4gcc -march=native -mcpu=native -O3
prjfp128bkcrypto_dh/prjfp128bk/v01/w8s04glv4gcc -march=native -mcpu=native -O3
prjfp128bkcrypto_dh/prjfp128bk/v01/w8s08glv4gcc -march=native -mcpu=native -O3
prjfp128bkcrypto_dh/prjfp128bk/v01/w8s16glv4gcc -march=native -mcpu=native -O3
prjfp128bkcrypto_dh/prjfp128bk/v01/w8s32glv4gcc -march=native -mcpu=native -O3
36028001.00sclaus1024crypto_dh/sclaus1024/gmpg++ -funroll-loops -march=native -mcpu=native -O2 (6.2.1 20160830)
sclaus1024crypto_dh/sclaus1024/cryptoppg++ -march=native -mcpu=native -O3
172280401.00sclaus2048crypto_dh/sclaus2048/gmpg++ -march=native -mcpu=native -O3 (6.2.1 20160830)
sclaus2048crypto_dh/sclaus2048/cryptoppg++ -march=native -mcpu=native -O3 (6.2.1 20160830)
22736401.00surf127epscrypto_dh/surf127eps/mpfqgcc -funroll-loops -march=native -mcpu=native -O2 (6.2.1 20160830)
46290401.00surf2113crypto_dh/surf2113/mpfqgcc -funroll-loops -march=native -mcpu=native -Os (6.2.1 20160830)

crypto_scalarmult

TimeRelative timePrimitiveImplementationCompiler
17926601.00curve25519crypto_scalarmult/curve25519/amd64-64gcc -funroll-loops -march=native -mcpu=native -O3 (6.2.1 20160830)
26646601.49curve25519crypto_scalarmult/curve25519/amd64-51gcc -funroll-loops -march=native -mcpu=native -Os
29443601.64curve25519crypto_scalarmult/curve25519/donna_c64gcc -funroll-loops -march=native -mcpu=native -O3 (6.2.1 20160830)
32349201.80curve25519crypto_scalarmult/curve25519/ref10gcc -funroll-loops -march=native -mcpu=native -O3 (6.2.1 20160830)
33980801.90curve25519crypto_scalarmult/curve25519/donnagcc -march=native -mcpu=native -O2
5073350028.30curve25519crypto_scalarmult/curve25519/refgcc -funroll-loops -march=native -mcpu=native -O3 (6.2.1 20160830)
curve25519crypto_scalarmult/curve25519/sandy2xgcc -march=native -mcpu=native -O3
23095201.00kummercrypto_scalarmult/kummer/ref5gcc -funroll-loops -march=native -mcpu=native -O2 (6.2.1 20160830)
23485601.02kummercrypto_scalarmult/kummer/ref5ugcc -funroll-loops -march=native -mcpu=native -O2 (6.2.1 20160830)
kummercrypto_scalarmult/kummer/avxgcc -march=native -mcpu=native -O3
kummercrypto_scalarmult/kummer/avx2gcc -march=native -mcpu=native -O3
kummercrypto_scalarmult/kummer/avx2intgcc -march=native -mcpu=native -O3
54621201.00nistp256crypto_scalarmult/nistp256/mj32gcc -funroll-loops -march=native -mcpu=native -O2 (6.2.1 20160830)