Time | Relative time | Primitive | Implementation | Compiler |
66891783 | 1.00 | claus | crypto_dh/claus/openssl | gcc -O3 -fomit-frame-pointer (4.7.3) |
129897990 | 1.94 | claus | crypto_dh/claus/cryptopp | g++ -mcpu=cortex-a9 -O2 -fomit-frame-pointer |
| | claus | crypto_dh/claus/gmp | g++ -O3 -fomit-frame-pointer |
| | claus | crypto_dh/claus/ntl | g++ -O3 -fomit-frame-pointer |
| | curve2251 | crypto_dh/curve2251/mpfq | gcc -O3 -fomit-frame-pointer |
1639573 | 1.00 | curve25519 | crypto_dh/curve25519/ref | gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer (4.7.3) |
| | curve25519 | crypto_dh/curve25519/mpfq | gcc -O3 -fomit-frame-pointer |
4748192 | 1.00 | ed448goldilocks | crypto_dh/ed448goldilocks/neon (2014-10-12) | gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer (4.7.3) |
17505297 | 3.69 | ed448goldilocks | crypto_dh/ed448goldilocks/arm32 | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer |
23537506 | 4.96 | ed448goldilocks | crypto_dh/ed448goldilocks/32 | gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer |
| | ed448goldilocks | crypto_dh/ed448goldilocks/64 | gcc -O3 -fomit-frame-pointer |
| | ed448goldilocks | crypto_dh/ed448goldilocks/amd64 | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/varglv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/w8s01glv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/w8s02glv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/w8s04glv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/w8s08glv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/w8s16glv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/w8s32glv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/var | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/w8s01 | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/w8s02 | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/w8s04 | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/w8s08 | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/w8s16 | gcc -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/w8s32 | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/varglv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/w8s01glv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/w8s02glv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/w8s04glv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/w8s08glv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/w8s16glv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/w8s32glv8 | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/var | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/w8s01 | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/w8s02 | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/w8s04 | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/w8s08 | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/w8s16 | gcc -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/w8s32 | gcc -O3 -fomit-frame-pointer |
| | hector | crypto_dh/hector/ref | gcc -O3 -fomit-frame-pointer |
| | kumfp61e2g | crypto_dh/kumfp61e2g/v01/var | gcc -O3 -fomit-frame-pointer |
| | kumfp64e2g | crypto_dh/kumfp64e2g/v01/var | gcc -O3 -fomit-frame-pointer |
1273545 | 1.00 | kummer | crypto_dh/kummer/ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer (4.7.3) |
11984351 | 1.00 | nistp256 | crypto_dh/nistp256/ref | clang -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer (4.2.1 Compatible Ubuntu Clang 3.2 (tags/RELEASE 32/final)) |
| | nistp256 | crypto_dh/nistp256/wbl | gcc -O3 -fomit-frame-pointer |
22264466 | 1.00 | sclaus1024 | crypto_dh/sclaus1024/cryptopp | g++ -mcpu=arm810 -O2 -fomit-frame-pointer (4.7.3) |
| | sclaus1024 | crypto_dh/sclaus1024/gmp | g++ -O3 -fomit-frame-pointer |
96616472 | 1.00 | sclaus2048 | crypto_dh/sclaus2048/cryptopp | g++ -O -fomit-frame-pointer (4.7.3) |
| | sclaus2048 | crypto_dh/sclaus2048/gmp | g++ -O3 -fomit-frame-pointer |
| | surf127eps | crypto_dh/surf127eps/mpfq | gcc -O3 -fomit-frame-pointer |
| | surf2113 | crypto_dh/surf2113/mpfq | gcc -O3 -fomit-frame-pointer |
Time | Relative time | Primitive | Implementation | Compiler |
1636820 | 1.00 | curve25519 | crypto_scalarmult/curve25519/neon2 | clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer (4.2.1 Compatible Ubuntu Clang 3.2 (tags/RELEASE 32/final)) |
6054602 | 3.70 | curve25519 | crypto_scalarmult/curve25519/ref10 | clang -O3 -fwrapv -mavx -fomit-frame-pointer |
65016272 | 39.72 | curve25519 | crypto_scalarmult/curve25519/ref | gcc -funroll-loops -O3 -fomit-frame-pointer |
| | curve25519 | crypto_scalarmult/curve25519/donna_c64 | gcc -O3 -fomit-frame-pointer |
1270765 | 1.00 | kummer | crypto_scalarmult/kummer/neon | gcc -fno-schedule-insns -O3 -fomit-frame-pointer (4.7.3) |
3840040 | 3.02 | kummer | crypto_scalarmult/kummer/ref5 | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer |
4141829 | 3.26 | kummer | crypto_scalarmult/kummer/ref5u | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer |
11973088 | 1.00 | nistp256 | crypto_scalarmult/nistp256/mj32 | gcc -fno-schedule-insns -O3 -fomit-frame-pointer (4.7.3) |