Implementation notes: amd64, cryptologic, crypto_dh

Computer: cryptologic
Architecture: amd64
CPU ID: GenuineIntel-000206c2-bfebfbff
CPU cycles/second: 3325134000...3325134000 (amd64cpuinfo)
SUPERCOP version: 20140517
Benchmark dates: 20140519...20140604

crypto_dh

TimeRelative timePrimitiveImplementationCompiler
92785031.00clauscrypto_dh/claus/gmpg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
107080341.15clauscrypto_dh/claus/cryptoppg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer
167785341.81clauscrypto_dh/claus/opensslgcc -march=nocona -O2 -fomit-frame-pointer
clauscrypto_dh/claus/ntlg++ -m64 -O3 -fomit-frame-pointer
11696941.00curve2251crypto_dh/curve2251/relic/amd64-ssse3gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
32162272.75curve2251crypto_dh/curve2251/mpfqgcc -funroll-loops -Os -fomit-frame-pointer
curve2251crypto_dh/curve2251/relic/amd64-avxgcc -m64 -O3 -fomit-frame-pointer
curve2251crypto_dh/curve2251/relic/amd64-clmulgcc -m64 -O3 -fomit-frame-pointer
8446371.00curve25519crypto_dh/curve25519/refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
13501061.60curve25519crypto_dh/curve25519/mpfqgcc -march=nocona -O3 -fomit-frame-pointer
6988521.00ecfp256ecrypto_dh/ecfp256e/v01/w8s8gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
7040581.01ecfp256ecrypto_dh/ecfp256e/v01/w8s4gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
7170671.03ecfp256ecrypto_dh/ecfp256e/v01/w8s2gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
7484121.07ecfp256ecrypto_dh/ecfp256e/v01/w8s1gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
11520151.65ecfp256ecrypto_dh/ecfp256e/v01/vargcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
8442271.00ecfp256hcrypto_dh/ecfp256h/v01/w8s8gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
8476211.00ecfp256hcrypto_dh/ecfp256h/v01/w8s4gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
8612611.02ecfp256hcrypto_dh/ecfp256h/v01/w8s2gcc -m64 -march=nocona -O3 -fomit-frame-pointer
8932151.06ecfp256hcrypto_dh/ecfp256h/v01/w8s1gcc -m64 -march=k8 -O3 -fomit-frame-pointer
14250731.69ecfp256hcrypto_dh/ecfp256h/v01/vargcc -march=k8 -O3 -fomit-frame-pointer
12199331.00ecfp256icrypto_dh/ecfp256i/v01/vargcc -m64 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
ecfp256icrypto_dh/ecfp256i/v01/w8s1gcc -m64 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
ecfp256icrypto_dh/ecfp256i/v01/w8s2gcc -m64 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
ecfp256icrypto_dh/ecfp256i/v01/w8s4gcc -m64 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
ecfp256icrypto_dh/ecfp256i/v01/w8s8gcc -m64 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
7403601.00ecfp256qcrypto_dh/ecfp256q/v01/w8s8gcc -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
7470311.01ecfp256qcrypto_dh/ecfp256q/v01/w8s4gcc -m64 -march=core2 -O3 -fomit-frame-pointer
7583881.02ecfp256qcrypto_dh/ecfp256q/v01/w8s2gcc -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
7862491.06ecfp256qcrypto_dh/ecfp256q/v01/w8s1gcc -m64 -march=k8 -O3 -fomit-frame-pointer
11947271.61ecfp256qcrypto_dh/ecfp256q/v01/vargcc -m64 -march=k8 -O3 -fomit-frame-pointer
8895391.00ecfp256scrypto_dh/ecfp256s/v01/w8s8gcc -m64 -march=nocona -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
8975941.01ecfp256scrypto_dh/ecfp256s/v01/w8s4gcc -O3 -fomit-frame-pointer
9141001.03ecfp256scrypto_dh/ecfp256s/v01/w8s2gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
9468241.06ecfp256scrypto_dh/ecfp256s/v01/w8s1gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
15233491.71ecfp256scrypto_dh/ecfp256s/v01/vargcc -m64 -march=core2 -O3 -fomit-frame-pointer
7638791.00gls1271crypto_dh/gls1271/ref4gcc -funroll-loops -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
gls254crypto_dh/gls254/protgcc -m64 -O3 -fomit-frame-pointer
gls254crypto_dh/gls254/refgcc -m64 -O3 -fomit-frame-pointer
7099241.00hecfp127icrypto_dh/hecfp127i/v02/w8s32gcc -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
7116701.00hecfp127icrypto_dh/hecfp127i/v02/w8s16gcc -m64 -march=core2 -O3 -fomit-frame-pointer
7142551.01hecfp127icrypto_dh/hecfp127i/v02/w8s08gcc -fno-schedule-insns -O3 -fomit-frame-pointer
7224001.02hecfp127icrypto_dh/hecfp127i/v02/w8s04gcc -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
7378361.04hecfp127icrypto_dh/hecfp127i/v02/w8s02gcc -fno-schedule-insns -O3 -fomit-frame-pointer
7709761.09hecfp127icrypto_dh/hecfp127i/v02/w8s01gcc -fno-schedule-insns -O3 -fomit-frame-pointer
12715581.79hecfp127icrypto_dh/hecfp127i/v02/vargcc -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
6396061.00hecfp128bkcrypto_dh/hecfp128bk/v02/w8s32glv4gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
6419391.00hecfp128bkcrypto_dh/hecfp128bk/v02/w8s16glv4gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
6473151.01hecfp128bkcrypto_dh/hecfp128bk/v02/w8s08glv4gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer
6590611.03hecfp128bkcrypto_dh/hecfp128bk/v02/w8s04glv4gcc -fno-schedule-insns -O2 -fomit-frame-pointer
6844031.07hecfp128bkcrypto_dh/hecfp128bk/v02/w8s02glv4gcc -fno-schedule-insns -O3 -fomit-frame-pointer
7362701.15hecfp128bkcrypto_dh/hecfp128bk/v02/w8s01glv4gcc -O3 -fomit-frame-pointer
10051441.57hecfp128bkcrypto_dh/hecfp128bk/v02/varglv4gcc -march=k8 -O3 -fomit-frame-pointer
6378091.00hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s32glv4gcc -fno-schedule-insns -O2 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
6389061.00hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s16glv4gcc -m64 -O3 -fomit-frame-pointer
6448641.01hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s08glv4gcc -m64 -O3 -fomit-frame-pointer
6561301.03hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s04glv4gcc -m64 -O3 -fomit-frame-pointer
6828001.07hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s02glv4gcc -funroll-loops -m64 -O3 -fomit-frame-pointer
7347311.15hecfp128fktcrypto_dh/hecfp128fkt/v02/w8s01glv4gcc -O2 -fomit-frame-pointer
10013181.57hecfp128fktcrypto_dh/hecfp128fkt/v02/varglv4gcc -fno-schedule-insns -O3 -fomit-frame-pointer
12405821.00hecfp128icrypto_dh/hecfp128i/v02/w8s32gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
12478501.01hecfp128icrypto_dh/hecfp128i/v02/w8s16gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
12520031.01hecfp128icrypto_dh/hecfp128i/v02/w8s08gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
12669671.02hecfp128icrypto_dh/hecfp128i/v02/w8s04gcc -m64 -march=core2 -O2 -fomit-frame-pointer
12921881.04hecfp128icrypto_dh/hecfp128i/v02/w8s02gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer
13487791.09hecfp128icrypto_dh/hecfp128i/v02/w8s01gcc -m64 -O3 -fomit-frame-pointer
22311201.80hecfp128icrypto_dh/hecfp128i/v02/vargcc -m64 -march=core2 -O2 -fomit-frame-pointer
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/varglv8gcc -m64 -O3 -fomit-frame-pointer
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s01glv8gcc -m64 -O3 -fomit-frame-pointer
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s02glv8gcc -m64 -O3 -fomit-frame-pointer
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s04glv8gcc -m64 -O3 -fomit-frame-pointer
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s08glv8gcc -m64 -O3 -fomit-frame-pointer
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s16glv8gcc -m64 -O3 -fomit-frame-pointer
hecfp61e2bkcrypto_dh/hecfp61e2bk/v01/w8s32glv8gcc -m64 -O3 -fomit-frame-pointer
hecfp61e2icrypto_dh/hecfp61e2i/v01/vargcc -m64 -O3 -fomit-frame-pointer
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s01gcc -m64 -O3 -fomit-frame-pointer
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s02gcc -m64 -O3 -fomit-frame-pointer
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s04gcc -m64 -O3 -fomit-frame-pointer
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s08gcc -m64 -O3 -fomit-frame-pointer
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s16gcc -m64 -O3 -fomit-frame-pointer
hecfp61e2icrypto_dh/hecfp61e2i/v01/w8s32gcc -m64 -O3 -fomit-frame-pointer
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/varglv8gcc -m64 -O3 -fomit-frame-pointer
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s01glv8gcc -m64 -O3 -fomit-frame-pointer
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s02glv8gcc -m64 -O3 -fomit-frame-pointer
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s04glv8gcc -m64 -O3 -fomit-frame-pointer
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s08glv8gcc -m64 -O3 -fomit-frame-pointer
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s16glv8gcc -m64 -O3 -fomit-frame-pointer
hecfp64e2bkcrypto_dh/hecfp64e2bk/v01/w8s32glv8gcc -m64 -O3 -fomit-frame-pointer
hecfp64e2icrypto_dh/hecfp64e2i/v01/vargcc -m64 -O3 -fomit-frame-pointer
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s01gcc -m64 -O3 -fomit-frame-pointer
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s02gcc -m64 -O3 -fomit-frame-pointer
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s04gcc -m64 -O3 -fomit-frame-pointer
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s08gcc -m64 -O3 -fomit-frame-pointer
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s16gcc -m64 -O3 -fomit-frame-pointer
hecfp64e2icrypto_dh/hecfp64e2i/v01/w8s32gcc -m64 -O3 -fomit-frame-pointer
25854481.00hectorcrypto_dh/hector/refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
6223091.00kumfp127gcrypto_dh/kumfp127g/v02/vargcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
10284461.00kumfp128gcrypto_dh/kumfp128g/v02/vargcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
kumfp61e2gcrypto_dh/kumfp61e2g/v01/vargcc -m64 -O3 -fomit-frame-pointer
kumfp64e2gcrypto_dh/kumfp64e2g/v01/vargcc -m64 -O3 -fomit-frame-pointer
kummercrypto_dh/kummer/refgcc -m64 -O3 -fomit-frame-pointer
15649181.00sclaus1024crypto_dh/sclaus1024/gmpg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
19047381.22sclaus1024crypto_dh/sclaus1024/cryptoppg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
77349731.00sclaus2048crypto_dh/sclaus2048/gmpg++ -m64 -march=k8 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
90027171.16sclaus2048crypto_dh/sclaus2048/cryptoppg++ -m64 -O2 -fomit-frame-pointer
14279801.00surf127epscrypto_dh/surf127eps/mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
25328471.00surf2113crypto_dh/surf2113/mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))

crypto_scalarmult

TimeRelative timePrimitiveImplementationCompiler
8419581.00curve25519crypto_scalarmult/curve25519/amd64-51gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54))
9858511.17curve25519crypto_scalarmult/curve25519/amd64-64gcc -march=k8 -O2 -fomit-frame-pointer
15591151.85curve25519crypto_scalarmult/curve25519/donnagcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
19837202.36curve25519crypto_scalarmult/curve25519/ref10gcc -funroll-loops -march=k8 -O -fomit-frame-pointer
36621124.35curve25519crypto_scalarmult/curve25519/donna_c64cc
3729633644.30curve25519crypto_scalarmult/curve25519/refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer
kummercrypto_scalarmult/kummer/avxgcc -m64 -O3 -fomit-frame-pointer
kummercrypto_scalarmult/kummer/avx2gcc -m64 -O3 -fomit-frame-pointer