Implementation notes: amd64, bolero, crypto_dh

Computer: bolero
Architecture: amd64
CPU ID: GenuineIntel-000406f1-bfebfbff
CPU cycles/second: 1700000000...1700000000 (amd64cpuinfo)
SUPERCOP version: 20180818
Benchmark dates: 20170829...20181021

crypto_dh

TimeRelative timePrimitiveImplementationCompiler
39628121.00clauscrypto_dh/claus/opensslclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Clang 3.8.0 (tags/RELEASE 380/final))
45595401.15clauscrypto_dh/claus/gmpclang++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
55144721.39clauscrypto_dh/claus/cryptoppclang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments
58100401.47clauscrypto_dh/claus/ntlg++
3858481.00curve2251crypto_dh/curve2251/relic/amd64-avxclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Clang 3.8.0 (tags/RELEASE 380/final))
3889921.01curve2251crypto_dh/curve2251/relic/amd64-clmulgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
10838162.81curve2251crypto_dh/curve2251/relic/amd64-ssse3clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
28876687.48curve2251crypto_dh/curve2251/mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
5696561.00curve25519crypto_dh/curve25519/refgcc -march=k8 -O3 -fomit-frame-pointer (5.4.0 20160609)
9023201.58curve25519crypto_dh/curve25519/mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
4597921.00ecfp256ecrypto_dh/ecfp256e/v01/w8s8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (5.4.0 20160609)
4644801.01ecfp256ecrypto_dh/ecfp256e/v01/w8s4gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
4724321.03ecfp256ecrypto_dh/ecfp256e/v01/w8s2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (5.4.0 20160609)
4922361.07ecfp256ecrypto_dh/ecfp256e/v01/w8s1gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
7497121.63ecfp256ecrypto_dh/ecfp256e/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (5.4.0 20160609)
5542481.00ecfp256hcrypto_dh/ecfp256h/v01/w8s8gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer (5.4.0 20160609)
5584481.01ecfp256hcrypto_dh/ecfp256h/v01/w8s4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
5693121.03ecfp256hcrypto_dh/ecfp256h/v01/w8s2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
5870201.06ecfp256hcrypto_dh/ecfp256h/v01/w8s1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
9282241.67ecfp256hcrypto_dh/ecfp256h/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
7912641.00ecfp256icrypto_dh/ecfp256i/v01/vargcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer (5.4.0 20160609)
ecfp256icrypto_dh/ecfp256i/v01/w8s1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
ecfp256icrypto_dh/ecfp256i/v01/w8s2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
ecfp256icrypto_dh/ecfp256i/v01/w8s4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
ecfp256icrypto_dh/ecfp256i/v01/w8s8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
4861281.00ecfp256qcrypto_dh/ecfp256q/v01/w8s8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (5.4.0 20160609)
4891761.01ecfp256qcrypto_dh/ecfp256q/v01/w8s4gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
4976561.02ecfp256qcrypto_dh/ecfp256q/v01/w8s2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (5.4.0 20160609)
5167241.06ecfp256qcrypto_dh/ecfp256q/v01/w8s1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (5.4.0 20160609)
7792521.60ecfp256qcrypto_dh/ecfp256q/v01/vargcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
5914361.00ecfp256scrypto_dh/ecfp256s/v01/w8s8gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer (5.4.0 20160609)
5952961.01ecfp256scrypto_dh/ecfp256s/v01/w8s4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
6056641.02ecfp256scrypto_dh/ecfp256s/v01/w8s2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer (5.4.0 20160609)
6285521.06ecfp256scrypto_dh/ecfp256s/v01/w8s1gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer (5.4.0 20160609)
10005041.69ecfp256scrypto_dh/ecfp256s/v01/vargcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
12298881.00ed448goldilockscrypto_dh/ed448goldilocks/amd64 (2014-10-12)clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Clang 3.8.0 (tags/RELEASE 380/final))
15441961.26ed448goldilockscrypto_dh/ed448goldilocks/64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
29053722.36ed448goldilockscrypto_dh/ed448goldilocks/arm32clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
45443123.69ed448goldilockscrypto_dh/ed448goldilocks/32gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
37069481.00ed521gscrypto_dh/ed521gs/ref (1.0)clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Clang 3.8.0 (tags/RELEASE 380/final))
gls1271crypto_dh/gls1271/ref4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
1457601.00gls254crypto_dh/gls254/optclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Clang 3.8.0 (tags/RELEASE 380/final))
1620761.11gls254crypto_dh/gls254/refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
2256841.55gls254crypto_dh/gls254/protgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer
1573881.00gls254protcrypto_dh/gls254prot/optclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Clang 3.8.0 (tags/RELEASE 380/final))
2254681.43gls254protcrypto_dh/gls254prot/protgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp127icrypto_dh/hecfp127i/v02/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp127icrypto_dh/hecfp127i/v02/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp127icrypto_dh/hecfp127i/v02/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp127icrypto_dh/hecfp127i/v02/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp127icrypto_dh/hecfp127i/v02/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp127icrypto_dh/hecfp127i/v02/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp127icrypto_dh/hecfp127i/v02/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkcrypto_dh/hecfp128bk/v02/varglv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s01glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s02glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s04glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128bkcrypto_dh/hecfp128bk/v02/w8s32glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktcrypto_dh/hecfp128fkt/v02/varglv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s01glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s02glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s04glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s32glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128icrypto_dh/hecfp128i/v02/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128icrypto_dh/hecfp128i/v02/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128icrypto_dh/hecfp128i/v02/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128icrypto_dh/hecfp128i/v02/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128icrypto_dh/hecfp128i/v02/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128icrypto_dh/hecfp128i/v02/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp128icrypto_dh/hecfp128i/v02/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/varglv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s01glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s02glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s04glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s08glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s16glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s32glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/varglv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s01glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s02glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s04glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s08glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s16glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s32glv8gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
hectorcrypto_dh/hector/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127icrypto_dh/jacfp127i/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127icrypto_dh/jacfp127i/v01/w4s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127icrypto_dh/jacfp127i/v01/w4s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127icrypto_dh/jacfp127i/v01/w4s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127icrypto_dh/jacfp127i/v01/w4s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127icrypto_dh/jacfp127i/v01/w4s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127icrypto_dh/jacfp127i/v01/w4s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127icrypto_dh/jacfp127i/v01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127icrypto_dh/jacfp127i/v01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127icrypto_dh/jacfp127i/v01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127icrypto_dh/jacfp127i/v01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127icrypto_dh/jacfp127i/v01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp127icrypto_dh/jacfp127i/v01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkcrypto_dh/jacfp128bk/v01/varglv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkcrypto_dh/jacfp128bk/v01/w4s01glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkcrypto_dh/jacfp128bk/v01/w4s02glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkcrypto_dh/jacfp128bk/v01/w4s04glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkcrypto_dh/jacfp128bk/v01/w4s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkcrypto_dh/jacfp128bk/v01/w4s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkcrypto_dh/jacfp128bk/v01/w4s32glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkcrypto_dh/jacfp128bk/v01/w8s01glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkcrypto_dh/jacfp128bk/v01/w8s02glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkcrypto_dh/jacfp128bk/v01/w8s04glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkcrypto_dh/jacfp128bk/v01/w8s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkcrypto_dh/jacfp128bk/v01/w8s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
jacfp128bkcrypto_dh/jacfp128bk/v01/w8s32glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
2978801.00k277moncrypto_dh/k277mon/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (5.4.0 20160609)
2039761.00k277taacrypto_dh/k277taa/refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Clang 3.8.0 (tags/RELEASE 380/final))
k298crypto_dh/k298/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumfp127gcrypto_dh/kumfp127g/v02/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumfp128gcrypto_dh/kumfp128g/v02/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumfp61e2gcrypto_dh/kumfp61e2g/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumfp64e2gcrypto_dh/kumfp64e2g/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gcrypto_dh/kumjacfp127g/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
2431641.00kummercrypto_dh/kummer/refgcc -m64 -march=nocona -Os -fomit-frame-pointer (5.4.0 20160609)
42488761.00nist521gscrypto_dh/nist521gs/ref (1.0)gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv (5.4.0 20160609)
18871041.00nistp256crypto_dh/nistp256/wbl (0.0.1)clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Clang 3.8.0 (tags/RELEASE 380/final))
25695441.36nistp256crypto_dh/nistp256/refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer
prjfp127icrypto_dh/prjfp127i/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127icrypto_dh/prjfp127i/v01/w4s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127icrypto_dh/prjfp127i/v01/w4s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127icrypto_dh/prjfp127i/v01/w4s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127icrypto_dh/prjfp127i/v01/w4s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127icrypto_dh/prjfp127i/v01/w4s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127icrypto_dh/prjfp127i/v01/w4s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127icrypto_dh/prjfp127i/v01/w8s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127icrypto_dh/prjfp127i/v01/w8s02gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127icrypto_dh/prjfp127i/v01/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127icrypto_dh/prjfp127i/v01/w8s08gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127icrypto_dh/prjfp127i/v01/w8s16gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp127icrypto_dh/prjfp127i/v01/w8s32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkcrypto_dh/prjfp128bk/v01/varglv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkcrypto_dh/prjfp128bk/v01/w4s01glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkcrypto_dh/prjfp128bk/v01/w4s02glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkcrypto_dh/prjfp128bk/v01/w4s04glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkcrypto_dh/prjfp128bk/v01/w4s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkcrypto_dh/prjfp128bk/v01/w4s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkcrypto_dh/prjfp128bk/v01/w4s32glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkcrypto_dh/prjfp128bk/v01/w8s01glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkcrypto_dh/prjfp128bk/v01/w8s02glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkcrypto_dh/prjfp128bk/v01/w8s04glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkcrypto_dh/prjfp128bk/v01/w8s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkcrypto_dh/prjfp128bk/v01/w8s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
prjfp128bkcrypto_dh/prjfp128bk/v01/w8s32glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
7772281.00sclaus1024crypto_dh/sclaus1024/gmpg++ -m64 -O -fomit-frame-pointer (5.4.0 20160609)
10043921.29sclaus1024crypto_dh/sclaus1024/cryptoppg++ -march=nocona -O -fomit-frame-pointer
38409081.00sclaus2048crypto_dh/sclaus2048/gmpg++ -m64 -march=corei7 -Os -fomit-frame-pointer (5.4.0 20160609)
49246161.28sclaus2048crypto_dh/sclaus2048/cryptoppg++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer
7908881.00surf127epscrypto_dh/surf127eps/mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer (5.4.0 20160609)
22938361.00surf2113crypto_dh/surf2113/mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer (5.4.0 20160609)

crypto_scalarmult

TimeRelative timePrimitiveImplementationCompiler
5695841.00curve25519crypto_scalarmult/curve25519/amd64-64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (5.4.0 20160609)
5956121.05curve25519crypto_scalarmult/curve25519/sandy2xgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
6121441.07curve25519crypto_scalarmult/curve25519/amd64-51clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
6333441.11curve25519crypto_scalarmult/curve25519/donna_c64gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
10144081.78curve25519crypto_scalarmult/curve25519/donnagcc -m64 -march=nocona -O2 -fomit-frame-pointer
14259362.50curve25519crypto_scalarmult/curve25519/ref10gcc -m64 -Os -fomit-frame-pointer
1839930032.30curve25519crypto_scalarmult/curve25519/refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
2431161.00kummercrypto_scalarmult/kummer/avx2intclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Clang 3.8.0 (tags/RELEASE 380/final))
2992361.23kummercrypto_scalarmult/kummer/avx2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
3681121.51kummercrypto_scalarmult/kummer/avxclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Clang 3.8.0 (tags/RELEASE 380/final))
9146083.76kummercrypto_scalarmult/kummer/ref5gcc -m64 -march=barcelona -O3 -fomit-frame-pointer
9336683.84kummercrypto_scalarmult/kummer/ref5uclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments
25824761.00nistp256crypto_scalarmult/nistp256/mj32clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Clang 3.8.0 (tags/RELEASE 380/final))