| Time | Relative time | Primitive | Implementation | Compiler |
| | claus | crypto_dh/claus/cryptopp | g++ -m64 -O3 -fomit-frame-pointer |
| | claus | crypto_dh/claus/gmp | g++ -m64 -O3 -fomit-frame-pointer |
| | claus | crypto_dh/claus/ntl | g++ -m64 -O3 -fomit-frame-pointer |
| | claus | crypto_dh/claus/openssl | gcc -m64 -O3 -fomit-frame-pointer |
| | curve2251 | crypto_dh/curve2251/mpfq | gcc -m64 -O3 -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 |
| | curve2251 | crypto_dh/curve2251/relic/amd64-ssse3 | gcc -m64 -O3 -fomit-frame-pointer |
| 4366410 | 1.00 | curve25519 | crypto_dh/curve25519/ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer (4.5.2) |
| | curve25519 | crypto_dh/curve25519/mpfq | gcc -m64 -O3 -fomit-frame-pointer |
| 2689620 | 1.00 | ecfp256e | crypto_dh/ecfp256e/v01/w8s8 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.5.2) |
| 2715710 | 1.01 | ecfp256e | crypto_dh/ecfp256e/v01/w8s4 | gcc -fno-schedule-insns -O3 -fomit-frame-pointer |
| 2772380 | 1.03 | ecfp256e | crypto_dh/ecfp256e/v01/w8s2 | gcc -O3 -fomit-frame-pointer |
| 2894790 | 1.08 | ecfp256e | crypto_dh/ecfp256e/v01/w8s1 | gcc -march=nocona -O3 -fomit-frame-pointer |
| 4433460 | 1.65 | ecfp256e | crypto_dh/ecfp256e/v01/var | gcc -O3 -fomit-frame-pointer |
| 3425980 | 1.00 | ecfp256h | crypto_dh/ecfp256h/v01/w8s8 | gcc -m64 -O3 -fomit-frame-pointer (4.5.2) |
| 3458230 | 1.01 | ecfp256h | crypto_dh/ecfp256h/v01/w8s4 | gcc -march=k8 -O3 -fomit-frame-pointer |
| 3523270 | 1.03 | ecfp256h | crypto_dh/ecfp256h/v01/w8s2 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer |
| 3656350 | 1.07 | ecfp256h | crypto_dh/ecfp256h/v01/w8s1 | gcc -march=k8 -O3 -fomit-frame-pointer |
| 5808980 | 1.70 | ecfp256h | crypto_dh/ecfp256h/v01/var | gcc -fno-schedule-insns -O3 -fomit-frame-pointer |
| 2923660 | 1.00 | ecfp256i | crypto_dh/ecfp256i/v01/w8s8 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.5.2) |
| 2927930 | 1.00 | ecfp256i | crypto_dh/ecfp256i/v01/w8s4 | gcc -m64 -march=k8 -O3 -fomit-frame-pointer |
| 2971260 | 1.02 | ecfp256i | crypto_dh/ecfp256i/v01/w8s2 | gcc -m64 -O3 -fomit-frame-pointer |
| 3071490 | 1.05 | ecfp256i | crypto_dh/ecfp256i/v01/w8s1 | gcc -m64 -O3 -fomit-frame-pointer |
| 4673070 | 1.60 | ecfp256i | crypto_dh/ecfp256i/v01/var | gcc -march=k8 -O3 -fomit-frame-pointer |
| 2810110 | 1.00 | ecfp256q | crypto_dh/ecfp256q/v01/w8s8 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.5.2) |
| 2833850 | 1.01 | ecfp256q | crypto_dh/ecfp256q/v01/w8s4 | gcc -m64 -march=k8 -O3 -fomit-frame-pointer |
| 2883550 | 1.03 | ecfp256q | crypto_dh/ecfp256q/v01/w8s2 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.5.2) |
| 3000350 | 1.07 | ecfp256q | crypto_dh/ecfp256q/v01/w8s1 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer |
| 4550030 | 1.62 | ecfp256q | crypto_dh/ecfp256q/v01/var | gcc -m64 -march=nocona -O3 -fomit-frame-pointer |
| 3263490 | 1.00 | ecfp256s | crypto_dh/ecfp256s/v01/w8s8 | gcc -march=barcelona -O3 -fomit-frame-pointer (4.5.2) |
| 3298190 | 1.01 | ecfp256s | crypto_dh/ecfp256s/v01/w8s4 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer |
| 3347530 | 1.03 | ecfp256s | crypto_dh/ecfp256s/v01/w8s2 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer |
| 3468120 | 1.06 | ecfp256s | crypto_dh/ecfp256s/v01/w8s1 | gcc -m64 -O3 -fomit-frame-pointer |
| 5506130 | 1.69 | ecfp256s | crypto_dh/ecfp256s/v01/var | gcc -m64 -march=k8 -O3 -fomit-frame-pointer |
| 2178670 | 1.00 | gls1271 | crypto_dh/gls1271/ref4 | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer (4.5.2) |
| | hector | crypto_dh/hector/ref | gcc -m64 -O3 -fomit-frame-pointer |
| | nistp256 | crypto_dh/nistp256/nawaz | gcc -m64 -O3 -fomit-frame-pointer |
| | sclaus1024 | crypto_dh/sclaus1024/cryptopp | g++ -m64 -O3 -fomit-frame-pointer |
| | sclaus1024 | crypto_dh/sclaus1024/gmp | g++ -m64 -O3 -fomit-frame-pointer |
| | sclaus2048 | crypto_dh/sclaus2048/cryptopp | g++ -m64 -O3 -fomit-frame-pointer |
| | sclaus2048 | crypto_dh/sclaus2048/gmp | g++ -m64 -O3 -fomit-frame-pointer |
| | surf127eps | crypto_dh/surf127eps/mpfq | gcc -m64 -O3 -fomit-frame-pointer |
| | surf2113 | crypto_dh/surf2113/mpfq | gcc -m64 -O3 -fomit-frame-pointer |
| Time | Relative time | Primitive | Implementation | Compiler |
| 2172570 | 1.00 | curve25519 | crypto_scalarmult/curve25519/amd64-64 | gcc -funroll-loops -O3 -fomit-frame-pointer (4.5.2) |
| 2425710 | 1.12 | curve25519 | crypto_scalarmult/curve25519/donna_c64 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer |
| 2993550 | 1.38 | curve25519 | crypto_scalarmult/curve25519/amd64-51 | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer |
| 3883770 | 1.79 | curve25519 | crypto_scalarmult/curve25519/donna | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer |
| 6385270 | 2.94 | curve25519 | crypto_scalarmult/curve25519/ref10 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer |
| 65826200 | 30.30 | curve25519 | crypto_scalarmult/curve25519/ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer |
| | curve25519 | crypto_scalarmult/curve25519/athlon | gcc -m64 -O3 -fomit-frame-pointer |
| | curve25519 | crypto_scalarmult/curve25519/costigan-schwabe/cbe | gcc -m64 -O3 -fomit-frame-pointer |