Implementation notes: amd64, agamemnon, crypto_dh

Computer: agamemnon
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
CPU cycles/second: 3200000000...3200000000 (amd64cpuinfo)
SUPERCOP version: 20111120
Benchmark dates: 20120102...20120105

crypto_dh

TimeRelative timePrimitiveImplementationCompiler
117124831.00clauscrypto_dh/claus/cryptoppg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.4.5)
136193061.16clauscrypto_dh/claus/opensslgcc -fno-schedule-insns -O3 -fomit-frame-pointer
137561871.17clauscrypto_dh/claus/gmpg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer
clauscrypto_dh/claus/ntlg++ -m64 -O3 -fomit-frame-pointer
34381681.00curve2251crypto_dh/curve2251/mpfqgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer (4.4.5)
curve2251crypto_dh/curve2251/relic/amd64-avxgcc -m64 -O3 -fomit-frame-pointer
curve2251crypto_dh/curve2251/relic/amd64-clmulgcc -m64 -O3 -fomit-frame-pointer
curve2251crypto_dh/curve2251/relic/amd64-ssse3gcc -m64 -O3 -fomit-frame-pointer
10704451.00curve25519crypto_dh/curve25519/mpfqgcc -march=barcelona -O3 -fomit-frame-pointer (4.4.5)
34633653.24curve25519crypto_dh/curve25519/refgcc -funroll-loops -O2 -fomit-frame-pointer
6200381.00ecfp256ecrypto_dh/ecfp256e/v01/w8s4gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer (4.4.5)
9605891.55ecfp256ecrypto_dh/ecfp256e/v01/vargcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer
27012614.36ecfp256ecrypto_dh/ecfp256e/v01/w8s8gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer
27774774.48ecfp256ecrypto_dh/ecfp256e/v01/w8s2gcc -m64 -march=core2 -O2 -fomit-frame-pointer
28741714.64ecfp256ecrypto_dh/ecfp256e/v01/w8s1gcc -m64 -O2 -fomit-frame-pointer
11281181.00ecfp256hcrypto_dh/ecfp256h/v01/w8s4gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer (4.4.5)
12692411.13ecfp256hcrypto_dh/ecfp256h/v01/w8s1gcc -m64 -march=barcelona -O -fomit-frame-pointer
16843131.49ecfp256hcrypto_dh/ecfp256h/v01/w8s8gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
34084053.02ecfp256hcrypto_dh/ecfp256h/v01/w8s2gcc -march=k8 -O2 -fomit-frame-pointer
54218514.81ecfp256hcrypto_dh/ecfp256h/v01/vargcc -fno-schedule-insns -O2 -fomit-frame-pointer
6687041.00ecfp256icrypto_dh/ecfp256i/v01/w8s2gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer (4.4.5)
6839761.02ecfp256icrypto_dh/ecfp256i/v01/w8s8gcc -fno-schedule-insns -O3 -fomit-frame-pointer
23414163.50ecfp256icrypto_dh/ecfp256i/v01/vargcc -funroll-loops -O3 -fomit-frame-pointer
29307444.38ecfp256icrypto_dh/ecfp256i/v01/w8s4gcc -m64 -march=k8 -O2 -fomit-frame-pointer
30467524.56ecfp256icrypto_dh/ecfp256i/v01/w8s1gcc -m64 -march=k8 -O2 -fomit-frame-pointer
6519361.00ecfp256qcrypto_dh/ecfp256q/v01/w8s4gcc -m64 -march=nocona -O3 -fomit-frame-pointer (4.4.5)
10475491.61ecfp256qcrypto_dh/ecfp256q/v01/vargcc -march=barcelona -O -fomit-frame-pointer
10739601.65ecfp256qcrypto_dh/ecfp256q/v01/w8s1gcc -march=barcelona -O -fomit-frame-pointer
15217022.33ecfp256qcrypto_dh/ecfp256q/v01/w8s2gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer
28082774.31ecfp256qcrypto_dh/ecfp256q/v01/w8s8gcc -m64 -O2 -fomit-frame-pointer
7261781.00ecfp256scrypto_dh/ecfp256s/v01/w8s8gcc -m64 -march=barcelona -O3 -fomit-frame-pointer (4.4.5)
7661531.06ecfp256scrypto_dh/ecfp256s/v01/w8s1gcc -m64 -march=barcelona -O3 -fomit-frame-pointer (4.4.5)
11823811.63ecfp256scrypto_dh/ecfp256s/v01/vargcc -march=nocona -O3 -fomit-frame-pointer
32661654.50ecfp256scrypto_dh/ecfp256s/v01/w8s4gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer
33184854.57ecfp256scrypto_dh/ecfp256s/v01/w8s2gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer
7459141.00gls1271crypto_dh/gls1271/ref4gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer (4.4.5)
124988081.00hectorcrypto_dh/hector/refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.4.5)
46694241.00sclaus1024crypto_dh/sclaus1024/gmpg++ -m64 -march=barcelona -O2 -fomit-frame-pointer (4.4.5)
62431251.34sclaus1024crypto_dh/sclaus1024/cryptoppg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
72142801.00sclaus2048crypto_dh/sclaus2048/gmpg++ -march=barcelona -Os -fomit-frame-pointer (4.4.5)
147778702.05sclaus2048crypto_dh/sclaus2048/cryptoppg++ -m64 -Os -fomit-frame-pointer
48209731.00surf127epscrypto_dh/surf127eps/mpfqgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer (4.4.5)
119575151.00surf2113crypto_dh/surf2113/mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.4.5)

crypto_scalarmult

TimeRelative timePrimitiveImplementationCompiler
3773651.00curve25519crypto_scalarmult/curve25519/amd64-64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer (4.4.5)
5156861.37curve25519crypto_scalarmult/curve25519/donna_c64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer
5622861.49curve25519crypto_scalarmult/curve25519/amd64-51gcc -funroll-loops -O3 -fomit-frame-pointer
11548063.06curve25519crypto_scalarmult/curve25519/donnagcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer
2136266856.61curve25519crypto_scalarmult/curve25519/refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer