Implementation notes: amd64, titan0, crypto_dh

Computer: titan0
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
CPU cycles/second: 3500000000...3500000000 (amd64cpuinfo)
SUPERCOP version: 20170717
Benchmark dates: 20160715...20170722

crypto_dh

TimeRelative timePrimitiveImplementationCompiler
52024601.00clauscrypto_dh/claus/gmpg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.8.4)
72882041.40clauscrypto_dh/claus/opensslgcc -funroll-loops -O2 -fomit-frame-pointer
78456641.51clauscrypto_dh/claus/cryptoppclang++ -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
82943601.59clauscrypto_dh/claus/ntlg++ -m64 -march=core-avx-i -Os -fomit-frame-pointer
4014681.00curve2251crypto_dh/curve2251/relic/amd64-clmulclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4.2 (tags/RELEASE 34/dot2-final))
4034401.00curve2251crypto_dh/curve2251/relic/amd64-avxclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
10850162.70curve2251crypto_dh/curve2251/relic/amd64-ssse3clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
24151806.02curve2251crypto_dh/curve2251/mpfqclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
6003601.00curve25519crypto_dh/curve25519/refclang -O3 -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4.2 (tags/RELEASE 34/dot2-final))
9553041.59curve25519crypto_dh/curve25519/mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
5065641.00ecfp256ecrypto_dh/ecfp256e/v01/w8s8gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
5096001.01ecfp256ecrypto_dh/ecfp256e/v01/w8s4gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
5195801.03ecfp256ecrypto_dh/ecfp256e/v01/w8s2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
5408201.07ecfp256ecrypto_dh/ecfp256e/v01/w8s1gcc -m64 -march=k8 -O3 -fomit-frame-pointer
8279641.63ecfp256ecrypto_dh/ecfp256e/v01/vargcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
5932321.00ecfp256hcrypto_dh/ecfp256h/v01/w8s8gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.8.4)
5987041.01ecfp256hcrypto_dh/ecfp256h/v01/w8s4gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
6103561.03ecfp256hcrypto_dh/ecfp256h/v01/w8s2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.8.4)
6329361.07ecfp256hcrypto_dh/ecfp256h/v01/w8s1gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
9982681.68ecfp256hcrypto_dh/ecfp256h/v01/vargcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.8.4)
8772281.00ecfp256icrypto_dh/ecfp256i/v01/vargcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
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
5312401.00ecfp256qcrypto_dh/ecfp256q/v01/w8s8gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.8.4)
5386281.01ecfp256qcrypto_dh/ecfp256q/v01/w8s4gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer
5497961.03ecfp256qcrypto_dh/ecfp256q/v01/w8s2gcc -march=k8 -O3 -fomit-frame-pointer
5670081.07ecfp256qcrypto_dh/ecfp256q/v01/w8s1gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.8.4)
8565241.61ecfp256qcrypto_dh/ecfp256q/v01/vargcc -O3 -fomit-frame-pointer
6434001.00ecfp256scrypto_dh/ecfp256s/v01/w8s8gcc -O3 -fomit-frame-pointer (4.8.4)
6507481.01ecfp256scrypto_dh/ecfp256s/v01/w8s4gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer
6595841.03ecfp256scrypto_dh/ecfp256s/v01/w8s2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
6827921.06ecfp256scrypto_dh/ecfp256s/v01/w8s1gcc -m64 -march=k8 -O3 -fomit-frame-pointer
10869801.69ecfp256scrypto_dh/ecfp256s/v01/vargcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
14289561.00ed448goldilockscrypto_dh/ed448goldilocks/amd64 (2014-10-12)clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4.2 (tags/RELEASE 34/dot2-final))
16966361.19ed448goldilockscrypto_dh/ed448goldilocks/64clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
28888122.02ed448goldilockscrypto_dh/ed448goldilocks/arm32clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
51383163.60ed448goldilockscrypto_dh/ed448goldilocks/32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
42325921.00ed521gscrypto_dh/ed521gs/ref (1.0)gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv (4.8.4)
6181961.00gls1271crypto_dh/gls1271/ref4gcc -funroll-loops -m64 -O2 -fomit-frame-pointer (4.8.4)
1743321.00gls254crypto_dh/gls254/refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4.2 (tags/RELEASE 34/dot2-final))
1921481.10gls254crypto_dh/gls254/optclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4.2 (tags/RELEASE 34/dot2-final))
2466521.41gls254crypto_dh/gls254/protgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
2029041.00gls254protcrypto_dh/gls254prot/optclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4.2 (tags/RELEASE 34/dot2-final))
2462041.21gls254protcrypto_dh/gls254prot/protgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
5261641.00hecfp127icrypto_dh/hecfp127i/v02/w8s32gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.8.4)
5275921.00hecfp127icrypto_dh/hecfp127i/v02/w8s16gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
5304881.01hecfp127icrypto_dh/hecfp127i/v02/w8s08gcc -march=k8 -O3 -fomit-frame-pointer
5333721.01hecfp127icrypto_dh/hecfp127i/v02/w8s04gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.8.4)
5466921.04hecfp127icrypto_dh/hecfp127i/v02/w8s02gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.8.4)
5698041.08hecfp127icrypto_dh/hecfp127i/v02/w8s01gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer
9282841.76hecfp127icrypto_dh/hecfp127i/v02/vargcc -m64 -march=k8 -O3 -fomit-frame-pointer
3895361.00hecfp128bkcrypto_dh/hecfp128bk/v02/w8s32glv4gcc -O3 -fomit-frame-pointer (4.8.4)
3914961.01hecfp128bkcrypto_dh/hecfp128bk/v02/w8s16glv4gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
3931521.01hecfp128bkcrypto_dh/hecfp128bk/v02/w8s08glv4gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
3981521.02hecfp128bkcrypto_dh/hecfp128bk/v02/w8s04glv4gcc -funroll-loops -O2 -fomit-frame-pointer
4112121.06hecfp128bkcrypto_dh/hecfp128bk/v02/w8s02glv4gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
4439161.14hecfp128bkcrypto_dh/hecfp128bk/v02/w8s01glv4gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
6024841.55hecfp128bkcrypto_dh/hecfp128bk/v02/varglv4gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
3901241.00hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s08glv4gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer (4.8.4)
3926641.01hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s32glv4gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer (4.8.4)
3933681.01hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s16glv4gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer
3954721.01hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s04glv4gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer
4115721.05hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s02glv4gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer (4.8.4)
4432041.14hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s01glv4gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer (4.8.4)
5993401.54hecfp128fktcrypto_dh/hecfp128fkt/v02/varglv4gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer
7467081.00hecfp128icrypto_dh/hecfp128i/v02/w8s16gcc -m64 -march=k8 -O2 -fomit-frame-pointer (4.8.4)
7489321.00hecfp128icrypto_dh/hecfp128i/v02/w8s32gcc -m64 -march=corei7 -O2 -fomit-frame-pointer
7506161.01hecfp128icrypto_dh/hecfp128i/v02/w8s08gcc -m64 -march=k8 -O3 -fomit-frame-pointer
7582561.02hecfp128icrypto_dh/hecfp128i/v02/w8s04gcc -m64 -march=barcelona -O3 -fomit-frame-pointer
7745601.04hecfp128icrypto_dh/hecfp128i/v02/w8s02gcc -march=barcelona -O3 -fomit-frame-pointer
8064081.08hecfp128icrypto_dh/hecfp128i/v02/w8s01gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
13221001.77hecfp128icrypto_dh/hecfp128i/v02/vargcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
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
19436241.00hectorcrypto_dh/hector/refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4.2 (tags/RELEASE 34/dot2-final))
4292841.00jacfp127icrypto_dh/jacfp127i/v01/w8s32gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.8.4)
4318561.01jacfp127icrypto_dh/jacfp127i/v01/w8s08gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
4321121.01jacfp127icrypto_dh/jacfp127i/v01/w8s16gcc -funroll-loops -O3 -fomit-frame-pointer
4364921.02jacfp127icrypto_dh/jacfp127i/v01/w8s04gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
4478361.04jacfp127icrypto_dh/jacfp127i/v01/w8s02gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer
4628561.08jacfp127icrypto_dh/jacfp127i/v01/w4s32gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
4654361.08jacfp127icrypto_dh/jacfp127i/v01/w8s01gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
4656161.08jacfp127icrypto_dh/jacfp127i/v01/w4s16gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer
4712161.10jacfp127icrypto_dh/jacfp127i/v01/w4s08gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.8.4)
4818001.12jacfp127icrypto_dh/jacfp127i/v01/w4s04gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer
5006521.17jacfp127icrypto_dh/jacfp127i/v01/w4s02gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.8.4)
5412641.26jacfp127icrypto_dh/jacfp127i/v01/w4s01gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
7502361.75jacfp127icrypto_dh/jacfp127i/v01/vargcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer
3053801.00jacfp128bkcrypto_dh/jacfp128bk/v01/w8s32glv4gcc -m64 -march=corei7 -O3 -fomit-frame-pointer (4.8.4)
3062401.00jacfp128bkcrypto_dh/jacfp128bk/v01/w8s08glv4gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
3064481.00jacfp128bkcrypto_dh/jacfp128bk/v01/w8s16glv4gcc -m64 -march=k8 -O3 -fomit-frame-pointer
3126441.02jacfp128bkcrypto_dh/jacfp128bk/v01/w8s04glv4gcc -march=nocona -O3 -fomit-frame-pointer
3242521.06jacfp128bkcrypto_dh/jacfp128bk/v01/w8s02glv4gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer
3455041.13jacfp128bkcrypto_dh/jacfp128bk/v01/w8s01glv4gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
3481161.14jacfp128bkcrypto_dh/jacfp128bk/v01/w4s32glv4gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
3501881.15jacfp128bkcrypto_dh/jacfp128bk/v01/w4s16glv4gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
3570721.17jacfp128bkcrypto_dh/jacfp128bk/v01/w4s08glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
3675881.20jacfp128bkcrypto_dh/jacfp128bk/v01/w4s04glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
3891001.27jacfp128bkcrypto_dh/jacfp128bk/v01/w4s02glv4gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
4351801.43jacfp128bkcrypto_dh/jacfp128bk/v01/w4s01glv4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
4663601.53jacfp128bkcrypto_dh/jacfp128bk/v01/varglv4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
4061161.00k277moncrypto_dh/k277mon/refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer (4.8.4)
2639121.00k277taacrypto_dh/k277taa/refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4.2 (tags/RELEASE 34/dot2-final))
3038521.00k298crypto_dh/k298/refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.8.4)
4350681.00kumfp127gcrypto_dh/kumfp127g/v02/vargcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv (4.8.4)
6314801.00kumfp128gcrypto_dh/kumfp128g/v02/vargcc -funroll-loops -m64 -O2 -fomit-frame-pointer (4.8.4)
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
2879841.00kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s16gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
2910201.01kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s32gcc -funroll-loops -O -fomit-frame-pointer
2912841.01kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s08gcc -m64 -O3 -fomit-frame-pointer
2952721.03kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s04gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
3044201.06kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s02gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
3237401.12kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s01gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
3238681.12kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s32gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
3254521.13kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s16gcc -O3 -fomit-frame-pointer
3303761.15kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s08gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
3396481.18kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s04gcc -m64 -march=k8 -O3 -fomit-frame-pointer
3589721.25kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s02gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
3981681.38kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s01gcc -m64 -march=k8 -O3 -fomit-frame-pointer
6073642.11kumjacfp127gcrypto_dh/kumjacfp127g/v01/vargcc -m64 -march=core-avx2 -Os -fomit-frame-pointer
2424081.00kummercrypto_dh/kummer/refgcc -m64 -march=barcelona -O -fomit-frame-pointer (4.8.4)
48525001.00nist521gscrypto_dh/nist521gs/ref (1.0)gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (4.8.4)
19554761.00nistp256crypto_dh/nistp256/wbl (0.0.1)clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4.2 (tags/RELEASE 34/dot2-final))
29045281.49nistp256crypto_dh/nistp256/refgcc -m64 -O2 -fomit-frame-pointer
5168601.00prjfp127icrypto_dh/prjfp127i/v01/w8s32gcc -m64 -march=nocona -O2 -fomit-frame-pointer (4.8.4)
5189641.00prjfp127icrypto_dh/prjfp127i/v01/w8s16gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
5207921.01prjfp127icrypto_dh/prjfp127i/v01/w8s08gcc -O2 -fomit-frame-pointer
5234721.01prjfp127icrypto_dh/prjfp127i/v01/w8s04gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
5364841.04prjfp127icrypto_dh/prjfp127i/v01/w8s02gcc -O2 -fomit-frame-pointer
5579081.08prjfp127icrypto_dh/prjfp127i/v01/w4s32gcc -m64 -march=core2 -O2 -fomit-frame-pointer
5588681.08prjfp127icrypto_dh/prjfp127i/v01/w8s01gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
5607081.08prjfp127icrypto_dh/prjfp127i/v01/w4s16gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
5660321.10prjfp127icrypto_dh/prjfp127i/v01/w4s08gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
5771961.12prjfp127icrypto_dh/prjfp127i/v01/w4s04gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
6029041.17prjfp127icrypto_dh/prjfp127i/v01/w4s02gcc -m64 -march=k8 -O3 -fomit-frame-pointer
6476281.25prjfp127icrypto_dh/prjfp127i/v01/w4s01gcc -m64 -march=nocona -O3 -fomit-frame-pointer
9083321.76prjfp127icrypto_dh/prjfp127i/v01/vargcc -O3 -fomit-frame-pointer
3758001.00prjfp128bkcrypto_dh/prjfp128bk/v01/w8s16glv4gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer (4.8.4)
3773681.00prjfp128bkcrypto_dh/prjfp128bk/v01/w8s32glv4gcc -m64 -march=nocona -O3 -fomit-frame-pointer
3775761.00prjfp128bkcrypto_dh/prjfp128bk/v01/w8s08glv4gcc -march=barcelona -O2 -fomit-frame-pointer
3852601.03prjfp128bkcrypto_dh/prjfp128bk/v01/w8s04glv4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
3974961.06prjfp128bkcrypto_dh/prjfp128bk/v01/w8s02glv4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer
4271201.14prjfp128bkcrypto_dh/prjfp128bk/v01/w4s32glv4gcc -funroll-loops -O3 -fomit-frame-pointer
4298321.14prjfp128bkcrypto_dh/prjfp128bk/v01/w8s01glv4gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer
4302361.14prjfp128bkcrypto_dh/prjfp128bk/v01/w4s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
4378321.17prjfp128bkcrypto_dh/prjfp128bk/v01/w4s08glv4gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
4529601.21prjfp128bkcrypto_dh/prjfp128bk/v01/w4s04glv4gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
4834601.29prjfp128bkcrypto_dh/prjfp128bk/v01/w4s02glv4gcc -O3 -fomit-frame-pointer
5454681.45prjfp128bkcrypto_dh/prjfp128bk/v01/w4s01glv4gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer
5792601.54prjfp128bkcrypto_dh/prjfp128bk/v01/varglv4gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
8863961.00sclaus1024crypto_dh/sclaus1024/gmpg++ -m64 -march=corei7 -O3 -fomit-frame-pointer (4.8.4)
13970601.58sclaus1024crypto_dh/sclaus1024/cryptoppclang++ -O3 -fomit-frame-pointer -Qunused-arguments
44270761.00sclaus2048crypto_dh/sclaus2048/gmpg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer (4.8.4)
68927921.56sclaus2048crypto_dh/sclaus2048/cryptoppg++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer
8573441.00surf127epscrypto_dh/surf127eps/mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer (4.8.4)
18833001.00surf2113crypto_dh/surf2113/mpfqclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4.2 (tags/RELEASE 34/dot2-final))

crypto_scalarmult

TimeRelative timePrimitiveImplementationCompiler
6004681.00curve25519crypto_scalarmult/curve25519/sandy2x (1.0)gcc -O3 -fomit-frame-pointer (4.8.4)
6451241.07curve25519crypto_scalarmult/curve25519/amd64-51gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
7141041.19curve25519crypto_scalarmult/curve25519/amd64-64gcc -m64 -march=nocona -Os -fomit-frame-pointer
7713841.28curve25519crypto_scalarmult/curve25519/donna_c64clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
10563321.76curve25519crypto_scalarmult/curve25519/donnagcc -m64 -O3 -fomit-frame-pointer
14415042.40curve25519crypto_scalarmult/curve25519/ref10gcc -march=k8 -O -fomit-frame-pointer
2054080034.21curve25519crypto_scalarmult/curve25519/refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments
2422361.00kummercrypto_scalarmult/kummer/avx2intclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4.2 (tags/RELEASE 34/dot2-final))
2878121.19kummercrypto_scalarmult/kummer/avx2gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer
3745841.55kummercrypto_scalarmult/kummer/avxclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments
9437243.90kummercrypto_scalarmult/kummer/ref5gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer
10024204.14kummercrypto_scalarmult/kummer/ref5ugcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
29210961.00nistp256crypto_scalarmult/nistp256/mj32clang -O3 -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4.2 (tags/RELEASE 34/dot2-final))