Implementation notes: amd64, angel0, crypto_dh

Computer: angel0
Architecture: amd64
CPU ID: AuthenticAMD-00100f42-178bfbff
CPU cycles/second: 2300000000...2300000000 (amd64cpuinfo)
SUPERCOP version: 20101002
Benchmark dates: 20100906...20101003

crypto_dh

TimeRelative timePrimitiveImplementationCompiler
33897421.00clauscrypto_dh/claus/gmpg++ -march=k8 -O3 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
43227861.28clauscrypto_dh/claus/cryptoppg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer
76356202.25clauscrypto_dh/claus/opensslgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer
clauscrypto_dh/claus/ntlg++ -m64 -O3 -fomit-frame-pointer
18510721.00curve2251crypto_dh/curve2251/mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
5733061.00curve25519crypto_dh/curve25519/mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
8404311.47curve25519crypto_dh/curve25519/refgcc -m64 -O -fomit-frame-pointer
5187581.00ecfp256ecrypto_dh/ecfp256e/v01/w8s4gcc -fno-schedule-insns -O2 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
5203481.00ecfp256ecrypto_dh/ecfp256e/v01/vargcc -m64 -march=nocona -O2 -fomit-frame-pointer
5233341.01ecfp256ecrypto_dh/ecfp256e/v01/w8s2gcc -O2 -fomit-frame-pointer
5250011.01ecfp256ecrypto_dh/ecfp256e/v01/w8s1gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer
5252651.01ecfp256ecrypto_dh/ecfp256e/v01/w8s8gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer
6596891.00ecfp256hcrypto_dh/ecfp256h/v01/w8s2gcc -march=k8 -O2 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
6618651.00ecfp256hcrypto_dh/ecfp256h/v01/w8s1gcc -O2 -fomit-frame-pointer
6635931.01ecfp256hcrypto_dh/ecfp256h/v01/w8s4gcc -funroll-loops -Os -fomit-frame-pointer
6641531.01ecfp256hcrypto_dh/ecfp256h/v01/vargcc -O2 -fomit-frame-pointer
6684491.01ecfp256hcrypto_dh/ecfp256h/v01/w8s8gcc -fno-schedule-insns -O2 -fomit-frame-pointer
5440061.00ecfp256icrypto_dh/ecfp256i/v01/vargcc -m64 -march=barcelona -O2 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
5496661.01ecfp256icrypto_dh/ecfp256i/v01/w8s1gcc -m64 -march=barcelona -O2 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
5497871.01ecfp256icrypto_dh/ecfp256i/v01/w8s4gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer
5502121.01ecfp256icrypto_dh/ecfp256i/v01/w8s8gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer
5508011.01ecfp256icrypto_dh/ecfp256i/v01/w8s2gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer
5319571.00ecfp256qcrypto_dh/ecfp256q/v01/w8s4gcc -fno-schedule-insns -O2 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
5321771.00ecfp256qcrypto_dh/ecfp256q/v01/w8s1gcc -m64 -march=core2 -O2 -fomit-frame-pointer
5327071.00ecfp256qcrypto_dh/ecfp256q/v01/vargcc -m64 -march=barcelona -O2 -fomit-frame-pointer
5333661.00ecfp256qcrypto_dh/ecfp256q/v01/w8s2gcc -m64 -O2 -fomit-frame-pointer
5359831.01ecfp256qcrypto_dh/ecfp256q/v01/w8s8gcc -march=barcelona -O2 -fomit-frame-pointer
6433191.00ecfp256scrypto_dh/ecfp256s/v01/vargcc -m64 -march=barcelona -O2 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
6460101.00ecfp256scrypto_dh/ecfp256s/v01/w8s4gcc -O2 -fomit-frame-pointer
6476131.01ecfp256scrypto_dh/ecfp256s/v01/w8s2gcc -m64 -march=nocona -O2 -fomit-frame-pointer
6500151.01ecfp256scrypto_dh/ecfp256s/v01/w8s8gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer
6515961.01ecfp256scrypto_dh/ecfp256s/v01/w8s1gcc -fno-schedule-insns -O3 -fomit-frame-pointer
5324251.00gls1271crypto_dh/gls1271/ref4gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
23803431.00hectorcrypto_dh/hector/refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
nistp256crypto_dh/nistp256/nawazgcc -m64 -O3 -fomit-frame-pointer
5753051.00sclaus1024crypto_dh/sclaus1024/gmpg++ -m64 -march=core2 -O3 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
7830421.36sclaus1024crypto_dh/sclaus1024/cryptoppg++ -m64 -march=k8 -O3 -fomit-frame-pointer
27015061.00sclaus2048crypto_dh/sclaus2048/gmpg++ -m64 -march=nocona -O2 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
36935421.37sclaus2048crypto_dh/sclaus2048/cryptoppg++
5856841.00surf127epscrypto_dh/surf127eps/mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
14944441.00surf2113crypto_dh/surf2113/mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))

crypto_scalarmult

TimeRelative timePrimitiveImplementationCompiler
8406031.00curve25519crypto_scalarmult/curve25519/donnagcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.4.4 20100630 (Red Hat 4.4.4-10))
9639601.15curve25519crypto_scalarmult/curve25519/donna_c64gcc -m64 -march=core2 -O3 -fomit-frame-pointer
2390164428.43curve25519crypto_scalarmult/curve25519/refgcc -funroll-loops -O2 -fomit-frame-pointer
curve25519crypto_scalarmult/curve25519/athlongcc -m64 -O3 -fomit-frame-pointer
curve25519crypto_scalarmult/curve25519/costigan-schwabe/cbegcc -m64 -O3 -fomit-frame-pointer