Implementation notes: amd64, margaux, crypto_dh

Computer: margaux
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
CPU cycles/second: 2394000000...2394000000 (amd64cpuinfo)
SUPERCOP version: 20170725
Benchmark dates: 20170727...20170803

crypto_dh

TimeRelative timePrimitiveImplementationCompiler
101579761.00clauscrypto_dh/claus/gmpg++ -march=barcelona -O2 -fomit-frame-pointer (4.8.4)
112682701.11clauscrypto_dh/claus/cryptoppg++ -march=nocona -Os -fomit-frame-pointer
128010691.26clauscrypto_dh/claus/opensslgcc -m64 -march=k8 -O -fomit-frame-pointer
clauscrypto_dh/claus/ntlg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
13548061.00curve2251crypto_dh/curve2251/relic/amd64-ssse3gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.8.4)
34805702.57curve2251crypto_dh/curve2251/mpfqclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
curve2251crypto_dh/curve2251/relic/amd64-avxgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
curve2251crypto_dh/curve2251/relic/amd64-clmulgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
12505411.00curve25519crypto_dh/curve25519/refgcc -march=nocona -O3 -fomit-frame-pointer (4.8.4)
15525451.24curve25519crypto_dh/curve25519/mpfqgcc -march=nocona -O3 -fomit-frame-pointer (4.8.4)
8830261.00ecfp256ecrypto_dh/ecfp256e/v01/w8s8gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
8875351.01ecfp256ecrypto_dh/ecfp256e/v01/w8s4gcc -march=k8 -O3 -fomit-frame-pointer
9082801.03ecfp256ecrypto_dh/ecfp256e/v01/w8s2gcc -march=k8 -O3 -fomit-frame-pointer
9448651.07ecfp256ecrypto_dh/ecfp256e/v01/w8s1gcc -march=k8 -O3 -fomit-frame-pointer
14531131.65ecfp256ecrypto_dh/ecfp256e/v01/vargcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
10694251.00ecfp256hcrypto_dh/ecfp256h/v01/w8s8gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
10806211.01ecfp256hcrypto_dh/ecfp256h/v01/w8s4gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
11006461.03ecfp256hcrypto_dh/ecfp256h/v01/w8s2gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
11438101.07ecfp256hcrypto_dh/ecfp256h/v01/w8s1gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
18144451.70ecfp256hcrypto_dh/ecfp256h/v01/vargcc -m64 -march=k8 -O3 -fomit-frame-pointer
15323041.00ecfp256icrypto_dh/ecfp256i/v01/vargcc -funroll-loops -m64 -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
9336871.00ecfp256qcrypto_dh/ecfp256q/v01/w8s8gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
9446311.01ecfp256qcrypto_dh/ecfp256q/v01/w8s4gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
9591121.03ecfp256qcrypto_dh/ecfp256q/v01/w8s2gcc -m64 -march=k8 -O3 -fomit-frame-pointer
9961741.07ecfp256qcrypto_dh/ecfp256q/v01/w8s1gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
15041521.61ecfp256qcrypto_dh/ecfp256q/v01/vargcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
10994491.00ecfp256scrypto_dh/ecfp256s/v01/w8s8gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
11103751.01ecfp256scrypto_dh/ecfp256s/v01/w8s4gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
11312731.03ecfp256scrypto_dh/ecfp256s/v01/w8s2gcc -march=k8 -O3 -fomit-frame-pointer
11737351.07ecfp256scrypto_dh/ecfp256s/v01/w8s1gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
18647101.70ecfp256scrypto_dh/ecfp256s/v01/vargcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.8.4)
27393931.00ed448goldilockscrypto_dh/ed448goldilocks/amd64 (2014-10-12)clang -O3 -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4 (tags/RELEASE 34/final))
32930461.20ed448goldilockscrypto_dh/ed448goldilocks/64clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
48730591.78ed448goldilockscrypto_dh/ed448goldilocks/arm32clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
68290382.49ed448goldilockscrypto_dh/ed448goldilocks/32gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
65902231.00ed521gscrypto_dh/ed521gs/ref (1.0)gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (4.8.4)
8937001.00gls1271crypto_dh/gls1271/ref4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.8.4)
gls254crypto_dh/gls254/optgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
gls254crypto_dh/gls254/protgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
gls254crypto_dh/gls254/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
gls254protcrypto_dh/gls254prot/optgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
gls254protcrypto_dh/gls254prot/protgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
8737471.00hecfp127icrypto_dh/hecfp127i/v02/w8s32gcc -O2 -fomit-frame-pointer (4.8.4)
8761321.00hecfp127icrypto_dh/hecfp127i/v02/w8s16gcc -m64 -O3 -fomit-frame-pointer
8807851.01hecfp127icrypto_dh/hecfp127i/v02/w8s08gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer
8913151.02hecfp127icrypto_dh/hecfp127i/v02/w8s04gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
9106831.04hecfp127icrypto_dh/hecfp127i/v02/w8s02gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
9503821.09hecfp127icrypto_dh/hecfp127i/v02/w8s01gcc -fno-schedule-insns -O3 -fomit-frame-pointer
15595471.78hecfp127icrypto_dh/hecfp127i/v02/vargcc -march=k8 -O3 -fomit-frame-pointer
8022961.00hecfp128bkcrypto_dh/hecfp128bk/v02/w8s32glv4gcc -march=nocona -O3 -fomit-frame-pointer (4.8.4)
8071561.01hecfp128bkcrypto_dh/hecfp128bk/v02/w8s16glv4gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer
8147071.02hecfp128bkcrypto_dh/hecfp128bk/v02/w8s08glv4gcc -O2 -fomit-frame-pointer
8310691.04hecfp128bkcrypto_dh/hecfp128bk/v02/w8s04glv4gcc -m64 -march=nocona -O3 -fomit-frame-pointer
8638021.08hecfp128bkcrypto_dh/hecfp128bk/v02/w8s02glv4gcc -march=k8 -O3 -fomit-frame-pointer
9299611.16hecfp128bkcrypto_dh/hecfp128bk/v02/w8s01glv4gcc -m64 -march=nocona -O2 -fomit-frame-pointer
12611431.57hecfp128bkcrypto_dh/hecfp128bk/v02/varglv4gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer
8013601.00hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s32glv4gcc -m64 -O2 -fomit-frame-pointer (4.8.4)
8055901.01hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s16glv4gcc -m64 -march=k8 -O2 -fomit-frame-pointer
8122861.01hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s08glv4gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer
8305201.04hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s04glv4gcc -funroll-loops -m64 -O3 -fomit-frame-pointer
8617411.08hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s02glv4gcc -march=barcelona -O2 -fomit-frame-pointer
9281701.16hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s01glv4gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
12543931.57hecfp128fktcrypto_dh/hecfp128fkt/v02/varglv4gcc -m64 -march=nocona -O3 -fomit-frame-pointer
15568831.00hecfp128icrypto_dh/hecfp128i/v02/w8s32gcc -m64 -march=barcelona -O3 -fomit-frame-pointer (4.8.4)
15622471.00hecfp128icrypto_dh/hecfp128i/v02/w8s16gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
15679891.01hecfp128icrypto_dh/hecfp128i/v02/w8s08gcc -funroll-loops -O -fomit-frame-pointer
15880681.02hecfp128icrypto_dh/hecfp128i/v02/w8s04gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
16192981.04hecfp128icrypto_dh/hecfp128i/v02/w8s02gcc -march=k8 -O2 -fomit-frame-pointer
16879951.08hecfp128icrypto_dh/hecfp128i/v02/w8s01gcc -funroll-loops -march=nocona -O -fomit-frame-pointer
27701821.78hecfp128icrypto_dh/hecfp128i/v02/vargcc -funroll-loops -O -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
28465561.00hectorcrypto_dh/hector/refclang -O3 -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4 (tags/RELEASE 34/final))
6627691.00jacfp127icrypto_dh/jacfp127i/v01/w8s32gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer (4.8.4)
6644161.00jacfp127icrypto_dh/jacfp127i/v01/w8s16gcc -m64 -march=barcelona -O3 -fomit-frame-pointer
6687991.01jacfp127icrypto_dh/jacfp127i/v01/w8s08gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
6762331.02jacfp127icrypto_dh/jacfp127i/v01/w8s04gcc -funroll-loops -O3 -fomit-frame-pointer
6903991.04jacfp127icrypto_dh/jacfp127i/v01/w8s02gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
7190281.08jacfp127icrypto_dh/jacfp127i/v01/w4s32gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
7214221.09jacfp127icrypto_dh/jacfp127i/v01/w8s01gcc -funroll-loops -O3 -fomit-frame-pointer
7223671.09jacfp127icrypto_dh/jacfp127i/v01/w4s16gcc -m64 -march=k8 -O3 -fomit-frame-pointer
7295041.10jacfp127icrypto_dh/jacfp127i/v01/w4s08gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
7448671.12jacfp127icrypto_dh/jacfp127i/v01/w4s04gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer
7747201.17jacfp127icrypto_dh/jacfp127i/v01/w4s02gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
8343901.26jacfp127icrypto_dh/jacfp127i/v01/w4s01gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer
11666791.76jacfp127icrypto_dh/jacfp127i/v01/vargcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
6382801.00jacfp128bkcrypto_dh/jacfp128bk/v01/w8s32glv4gcc -march=k8 -O3 -fomit-frame-pointer (4.8.4)
6394501.00jacfp128bkcrypto_dh/jacfp128bk/v01/w8s16glv4gcc -m64 -march=nocona -O3 -fomit-frame-pointer
6453811.01jacfp128bkcrypto_dh/jacfp128bk/v01/w8s08glv4gcc -m64 -march=core2 -O3 -fomit-frame-pointer
6583141.03jacfp128bkcrypto_dh/jacfp128bk/v01/w8s04glv4gcc -march=barcelona -O3 -fomit-frame-pointer
6822271.07jacfp128bkcrypto_dh/jacfp128bk/v01/w8s02glv4gcc -march=barcelona -O3 -fomit-frame-pointer
7326811.15jacfp128bkcrypto_dh/jacfp128bk/v01/w8s01glv4gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer
7371001.15jacfp128bkcrypto_dh/jacfp128bk/v01/w4s32glv4gcc -march=barcelona -O3 -fomit-frame-pointer
7433641.16jacfp128bkcrypto_dh/jacfp128bk/v01/w4s16glv4gcc -m64 -march=corei7 -O2 -fomit-frame-pointer
7553161.18jacfp128bkcrypto_dh/jacfp128bk/v01/w4s08glv4gcc -m64 -march=core2 -O2 -fomit-frame-pointer
7798141.22jacfp128bkcrypto_dh/jacfp128bk/v01/w4s04glv4gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer
8295931.30jacfp128bkcrypto_dh/jacfp128bk/v01/w4s02glv4gcc -O2 -fomit-frame-pointer
9290971.46jacfp128bkcrypto_dh/jacfp128bk/v01/w4s01glv4gcc -march=nocona -O2 -fomit-frame-pointer
9856081.54jacfp128bkcrypto_dh/jacfp128bk/v01/varglv4gcc -fno-schedule-insns -O3 -fomit-frame-pointer
k277moncrypto_dh/k277mon/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
k277taacrypto_dh/k277taa/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
k298crypto_dh/k298/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
7221331.00kumfp127gcrypto_dh/kumfp127g/v02/vargcc -m64 -O -fomit-frame-pointer (4.8.4)
12812041.00kumfp128gcrypto_dh/kumfp128g/v02/vargcc -m64 -march=core2 -O -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
4572541.00kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s32gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.8.4)
4585051.00kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s16gcc -m64 -march=k8 -O3 -fomit-frame-pointer
4626811.01kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s08gcc -march=nocona -O2 -fomit-frame-pointer
4699351.03kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s04gcc -m64 -march=nocona -O3 -fomit-frame-pointer
4847221.06kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s02gcc -march=barcelona -O3 -fomit-frame-pointer
5118481.12kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s32gcc -m64 -march=nocona -O3 -fomit-frame-pointer
5144401.13kumjacfp127gcrypto_dh/kumjacfp127g/v01/w8s01gcc -march=barcelona -O2 -fomit-frame-pointer
5160781.13kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s16gcc -funroll-loops -m64 -O3 -fomit-frame-pointer
5235031.14kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s08gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
5384161.18kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s04gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer
5678011.24kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s02gcc -m64 -march=core2 -O3 -fomit-frame-pointer
6284611.37kumjacfp127gcrypto_dh/kumjacfp127g/v01/w4s01gcc -m64 -march=nocona -O3 -fomit-frame-pointer
9649262.11kumjacfp127gcrypto_dh/kumjacfp127g/v01/vargcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
16195861.00kummercrypto_dh/kummer/refgcc -march=barcelona -Os -fomit-frame-pointer (4.8.4)
77647321.00nist521gscrypto_dh/nist521gs/ref (1.0)gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv (4.8.4)
33632371.00nistp256crypto_dh/nistp256/wbl (0.0.1)clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4 (tags/RELEASE 34/final))
41127211.22nistp256crypto_dh/nistp256/refgcc -funroll-loops -m64 -Os -fomit-frame-pointer
8543521.00prjfp127icrypto_dh/prjfp127i/v01/w8s32gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer (4.8.4)
8551531.00prjfp127icrypto_dh/prjfp127i/v01/w8s16gcc -m64 -march=nocona -O3 -fomit-frame-pointer
8599141.01prjfp127icrypto_dh/prjfp127i/v01/w8s08gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer
8682301.02prjfp127icrypto_dh/prjfp127i/v01/w8s04gcc -march=nocona -O2 -fomit-frame-pointer
8885791.04prjfp127icrypto_dh/prjfp127i/v01/w8s02gcc -funroll-loops -m64 -O3 -fomit-frame-pointer
9230401.08prjfp127icrypto_dh/prjfp127i/v01/w4s32gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
9271261.09prjfp127icrypto_dh/prjfp127i/v01/w4s16gcc -m64 -march=nocona -O2 -fomit-frame-pointer
9277201.09prjfp127icrypto_dh/prjfp127i/v01/w8s01gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
9368551.10prjfp127icrypto_dh/prjfp127i/v01/w4s08gcc -march=nocona -O2 -fomit-frame-pointer
9557911.12prjfp127icrypto_dh/prjfp127i/v01/w4s04gcc -march=nocona -O2 -fomit-frame-pointer
9941851.16prjfp127icrypto_dh/prjfp127i/v01/w4s02gcc -m64 -march=nocona -O2 -fomit-frame-pointer
10715851.25prjfp127icrypto_dh/prjfp127i/v01/w4s01gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
15197131.78prjfp127icrypto_dh/prjfp127i/v01/vargcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer
7813801.00prjfp128bkcrypto_dh/prjfp128bk/v01/w8s32glv4gcc -O2 -fomit-frame-pointer (4.8.4)
7865821.01prjfp128bkcrypto_dh/prjfp128bk/v01/w8s16glv4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
7940521.02prjfp128bkcrypto_dh/prjfp128bk/v01/w8s08glv4gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer
8104591.04prjfp128bkcrypto_dh/prjfp128bk/v01/w8s04glv4gcc -m64 -march=nocona -O3 -fomit-frame-pointer
8427691.08prjfp128bkcrypto_dh/prjfp128bk/v01/w8s02glv4gcc -m64 -march=barcelona -O3 -fomit-frame-pointer
9060031.16prjfp128bkcrypto_dh/prjfp128bk/v01/w4s32glv4gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
9083431.16prjfp128bkcrypto_dh/prjfp128bk/v01/w8s01glv4gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
9133741.17prjfp128bkcrypto_dh/prjfp128bk/v01/w4s16glv4gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer
9294841.19prjfp128bkcrypto_dh/prjfp128bk/v01/w4s08glv4gcc -m64 -O2 -fomit-frame-pointer
9630811.23prjfp128bkcrypto_dh/prjfp128bk/v01/w4s04glv4gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
10276921.32prjfp128bkcrypto_dh/prjfp128bk/v01/w4s02glv4gcc -m64 -march=corei7 -O2 -fomit-frame-pointer
11582911.48prjfp128bkcrypto_dh/prjfp128bk/v01/w4s01glv4gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
12219751.56prjfp128bkcrypto_dh/prjfp128bk/v01/varglv4gcc -m64 -march=core2 -O2 -fomit-frame-pointer
17143111.00sclaus1024crypto_dh/sclaus1024/gmpg++ -m64 -O3 -fomit-frame-pointer (4.8.4)
20082331.17sclaus1024crypto_dh/sclaus1024/cryptoppg++ -m64 -march=core2 -O2 -fomit-frame-pointer
84686671.00sclaus2048crypto_dh/sclaus2048/gmpg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer (4.8.4)
97680691.15sclaus2048crypto_dh/sclaus2048/cryptoppg++ -m64 -march=nocona -O -fomit-frame-pointer
16484131.00surf127epscrypto_dh/surf127eps/mpfqclang -O3 -fomit-frame-pointer -Qunused-arguments (4.2.1 Compatible Ubuntu Clang 3.4 (tags/RELEASE 34/final))
26913331.00surf2113crypto_dh/surf2113/mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.8.4)

crypto_scalarmult

TimeRelative timePrimitiveImplementationCompiler
12588481.00curve25519crypto_scalarmult/curve25519/amd64-64gcc -m64 -march=nocona -O -fomit-frame-pointer (4.8.4)
13132621.04curve25519crypto_scalarmult/curve25519/donna_c64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
13268881.05curve25519crypto_scalarmult/curve25519/amd64-51gcc -m64 -march=barcelona -Os -fomit-frame-pointer
19741591.57curve25519crypto_scalarmult/curve25519/donnagcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
25744682.05curve25519crypto_scalarmult/curve25519/ref10gcc -m64 -march=corei7 -O -fomit-frame-pointer
3725272829.59curve25519crypto_scalarmult/curve25519/refgcc -funroll-loops -O -fomit-frame-pointer
curve25519crypto_scalarmult/curve25519/sandy2xgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
16473601.00kummercrypto_scalarmult/kummer/ref5gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer (4.8.4)
17155891.04kummercrypto_scalarmult/kummer/ref5ugcc -m64 -march=nocona -O3 -fomit-frame-pointer
kummercrypto_scalarmult/kummer/avxgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kummercrypto_scalarmult/kummer/avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
kummercrypto_scalarmult/kummer/avx2intgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
41309551.00nistp256crypto_scalarmult/nistp256/mj32gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.8.4)