| Time | Relative time | Primitive | Implementation | Compiler |
| 50547610 | 1.00 | claus | crypto_dh/claus/gmp | g++ -fno-schedule-insns -O -fomit-frame-pointer (4.4.5) |
| 57350450 | 1.13 | claus | crypto_dh/claus/cryptopp | g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer |
| 70145750 | 1.39 | claus | crypto_dh/claus/openssl | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer |
| | claus | crypto_dh/claus/ntl | g++ -m64 -O3 -fomit-frame-pointer |
| 4185000 | 1.00 | curve2251 | crypto_dh/curve2251/relic/amd64-ssse3 | gcc -march=k8 -O3 -fomit-frame-pointer (4.4.5) |
| 11543080 | 2.76 | curve2251 | crypto_dh/curve2251/mpfq | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer |
| | curve2251 | crypto_dh/curve2251/relic/amd64-avx | gcc -m64 -O3 -fomit-frame-pointer |
| | curve2251 | crypto_dh/curve2251/relic/amd64-clmul | gcc -m64 -O3 -fomit-frame-pointer |
| 4794760 | 1.00 | curve25519 | crypto_dh/curve25519/ref | gcc -m64 -O3 -fomit-frame-pointer (4.4.5) |
| 4823700 | 1.01 | curve25519 | crypto_dh/curve25519/mpfq | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer |
| 2998520 | 1.00 | ecfp256e | crypto_dh/ecfp256e/v01/w8s8 | cc (4.4.5) |
| 3064420 | 1.02 | ecfp256e | crypto_dh/ecfp256e/v01/w8s2 | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer |
| 3084670 | 1.03 | ecfp256e | crypto_dh/ecfp256e/v01/w8s4 | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer |
| 3173730 | 1.06 | ecfp256e | crypto_dh/ecfp256e/v01/w8s1 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer |
| 5001600 | 1.67 | ecfp256e | crypto_dh/ecfp256e/v01/var | gcc -O2 -fomit-frame-pointer |
| 3943680 | 1.00 | ecfp256h | crypto_dh/ecfp256h/v01/w8s4 | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer (4.4.5) |
| 3953430 | 1.00 | ecfp256h | crypto_dh/ecfp256h/v01/w8s8 | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer |
| 4005530 | 1.02 | ecfp256h | crypto_dh/ecfp256h/v01/w8s2 | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer |
| 4102980 | 1.04 | ecfp256h | crypto_dh/ecfp256h/v01/w8s1 | gcc -march=nocona -O2 -fomit-frame-pointer |
| 6751330 | 1.71 | ecfp256h | crypto_dh/ecfp256h/v01/var | gcc -m64 -march=nocona -O -fomit-frame-pointer |
| 3234610 | 1.00 | ecfp256i | crypto_dh/ecfp256i/v01/w8s8 | cc (4.4.5) |
| 3371060 | 1.04 | ecfp256i | crypto_dh/ecfp256i/v01/w8s4 | gcc -fno-schedule-insns -Os -fomit-frame-pointer |
| 3491480 | 1.08 | ecfp256i | crypto_dh/ecfp256i/v01/w8s2 | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer |
| 3572290 | 1.10 | ecfp256i | crypto_dh/ecfp256i/v01/w8s1 | gcc -funroll-loops -O -fomit-frame-pointer |
| 5504510 | 1.70 | ecfp256i | crypto_dh/ecfp256i/v01/var | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer |
| 2949120 | 1.00 | ecfp256q | crypto_dh/ecfp256q/v01/w8s4 | gcc -march=k8 -O -fomit-frame-pointer (4.4.5) |
| 3123840 | 1.06 | ecfp256q | crypto_dh/ecfp256q/v01/w8s8 | cc |
| 3350230 | 1.14 | ecfp256q | crypto_dh/ecfp256q/v01/w8s2 | gcc -m64 -march=core2 -O -fomit-frame-pointer |
| 3402130 | 1.15 | ecfp256q | crypto_dh/ecfp256q/v01/w8s1 | gcc -march=k8 -Os -fomit-frame-pointer |
| 5371710 | 1.82 | ecfp256q | crypto_dh/ecfp256q/v01/var | gcc -O2 -fomit-frame-pointer |
| 3693390 | 1.00 | ecfp256s | crypto_dh/ecfp256s/v01/w8s8 | cc (4.4.5) |
| 3703050 | 1.00 | ecfp256s | crypto_dh/ecfp256s/v01/w8s4 | gcc -m64 -march=k8 -O2 -fomit-frame-pointer |
| 3896200 | 1.05 | ecfp256s | crypto_dh/ecfp256s/v01/w8s2 | gcc -march=nocona -O3 -fomit-frame-pointer |
| 3918270 | 1.06 | ecfp256s | crypto_dh/ecfp256s/v01/w8s1 | gcc -m64 -march=nocona -O2 -fomit-frame-pointer |
| 6438300 | 1.74 | ecfp256s | crypto_dh/ecfp256s/v01/var | gcc -march=nocona -O3 -fomit-frame-pointer |
| 2835880 | 1.00 | gls1271 | crypto_dh/gls1271/ref4 | gcc -m64 -march=core2 -O -fomit-frame-pointer (4.4.5) |
| 9099470 | 1.00 | hector | crypto_dh/hector/ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.4.5) |
| 8385970 | 1.00 | sclaus1024 | crypto_dh/sclaus1024/gmp | g++ -m64 -march=core2 -O -fomit-frame-pointer (4.4.5) |
| 8731000 | 1.04 | sclaus1024 | crypto_dh/sclaus1024/cryptopp | g++ -march=barcelona -O2 -fomit-frame-pointer |
| 38111140 | 1.00 | sclaus2048 | crypto_dh/sclaus2048/gmp | g++ -m64 -Os -fomit-frame-pointer (4.4.5) |
| 50667460 | 1.33 | sclaus2048 | crypto_dh/sclaus2048/cryptopp | g++ -fno-schedule-insns -O2 -fomit-frame-pointer |
| 4641900 | 1.00 | surf127eps | crypto_dh/surf127eps/mpfq | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer (4.4.5) |
| 8620850 | 1.00 | surf2113 | crypto_dh/surf2113/mpfq | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer (4.4.5) |
| Time | Relative time | Primitive | Implementation | Compiler |
| 2326100 | 1.00 | curve25519 | crypto_scalarmult/curve25519/amd64-64 | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer (4.4.5) |
| 3010530 | 1.29 | curve25519 | crypto_scalarmult/curve25519/donna_c64 | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer |
| 3293050 | 1.42 | curve25519 | crypto_scalarmult/curve25519/amd64-51 | gcc -march=nocona -Os -fomit-frame-pointer |
| 3900870 | 1.68 | curve25519 | crypto_scalarmult/curve25519/donna | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer |
| 7604840 | 3.27 | curve25519 | crypto_scalarmult/curve25519/ref10 | gcc -funroll-loops -O3 -fomit-frame-pointer |
| 79586770 | 34.21 | curve25519 | crypto_scalarmult/curve25519/ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer |
| | curve25519 | crypto_scalarmult/curve25519/neon2 | gcc -m64 -O3 -fomit-frame-pointer |