| Time | Relative time | Primitive | Implementation | Compiler |
| 10846400 | 1.00 | claus | crypto_dh/claus/gmp | g++ -m64 -march=k8 -O3 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 11172341 | 1.03 | claus | crypto_dh/claus/cryptopp | g++ -m64 -march=core2 -O3 -fomit-frame-pointer |
| 18639140 | 1.72 | claus | crypto_dh/claus/openssl | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer |
| | claus | crypto_dh/claus/ntl | g++ -m64 -O3 -fomit-frame-pointer |
| 1309774 | 1.00 | curve2251 | crypto_dh/curve2251/relic/amd64-ssse3 | gcc -O2 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 4326874 | 3.30 | 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 |
| 1253580 | 1.00 | curve25519 | crypto_dh/curve25519/ref | gcc -m64 -O -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 1553494 | 1.24 | curve25519 | crypto_dh/curve25519/mpfq | gcc -march=nocona -O3 -fomit-frame-pointer |
| 853961 | 1.00 | ecfp256e | crypto_dh/ecfp256e/v01/w8s8 | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 859597 | 1.01 | ecfp256e | crypto_dh/ecfp256e/v01/w8s4 | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer |
| 878815 | 1.03 | ecfp256e | crypto_dh/ecfp256e/v01/w8s2 | gcc -fno-schedule-insns -O2 -fomit-frame-pointer |
| 917039 | 1.07 | ecfp256e | crypto_dh/ecfp256e/v01/w8s1 | gcc -m64 -O2 -fomit-frame-pointer |
| 1421370 | 1.66 | ecfp256e | crypto_dh/ecfp256e/v01/var | gcc -m64 -march=core2 -O2 -fomit-frame-pointer |
| 1031934 | 1.00 | ecfp256h | crypto_dh/ecfp256h/v01/w8s8 | gcc -march=k8 -O2 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 1043596 | 1.01 | ecfp256h | crypto_dh/ecfp256h/v01/w8s4 | gcc -m64 -march=k8 -O2 -fomit-frame-pointer |
| 1064200 | 1.03 | ecfp256h | crypto_dh/ecfp256h/v01/w8s2 | gcc -march=k8 -O2 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 1107507 | 1.07 | ecfp256h | crypto_dh/ecfp256h/v01/w8s1 | gcc -m64 -march=k8 -O2 -fomit-frame-pointer |
| 1763036 | 1.71 | ecfp256h | crypto_dh/ecfp256h/v01/var | gcc -march=k8 -O2 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 925506 | 1.00 | ecfp256i | crypto_dh/ecfp256i/v01/w8s8 | gcc -m64 -march=k8 -O2 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 930130 | 1.00 | ecfp256i | crypto_dh/ecfp256i/v01/w8s4 | gcc -m64 -O2 -fomit-frame-pointer |
| 946280 | 1.02 | ecfp256i | crypto_dh/ecfp256i/v01/w8s2 | gcc -m64 -O2 -fomit-frame-pointer |
| 978920 | 1.06 | ecfp256i | crypto_dh/ecfp256i/v01/w8s1 | gcc -O2 -fomit-frame-pointer |
| 1504109 | 1.63 | ecfp256i | crypto_dh/ecfp256i/v01/var | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer |
| 900677 | 1.00 | ecfp256q | crypto_dh/ecfp256q/v01/w8s8 | gcc -m64 -O2 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 910282 | 1.01 | ecfp256q | crypto_dh/ecfp256q/v01/w8s4 | gcc -fno-schedule-insns -O2 -fomit-frame-pointer |
| 926908 | 1.03 | ecfp256q | crypto_dh/ecfp256q/v01/w8s2 | gcc -march=k8 -O2 -fomit-frame-pointer |
| 960670 | 1.07 | ecfp256q | crypto_dh/ecfp256q/v01/w8s1 | gcc -m64 -march=core2 -O2 -fomit-frame-pointer |
| 1464474 | 1.63 | ecfp256q | crypto_dh/ecfp256q/v01/var | gcc -march=k8 -O2 -fomit-frame-pointer |
| 1065449 | 1.00 | ecfp256s | crypto_dh/ecfp256s/v01/w8s8 | gcc -O3 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 1073941 | 1.01 | ecfp256s | crypto_dh/ecfp256s/v01/w8s4 | gcc -m64 -O2 -fomit-frame-pointer |
| 1092335 | 1.03 | ecfp256s | crypto_dh/ecfp256s/v01/w8s2 | gcc -m64 -O3 -fomit-frame-pointer |
| 1134376 | 1.06 | ecfp256s | crypto_dh/ecfp256s/v01/w8s1 | gcc -m64 -march=k8 -O2 -fomit-frame-pointer |
| 1822077 | 1.71 | ecfp256s | crypto_dh/ecfp256s/v01/var | gcc -fno-schedule-insns -O3 -fomit-frame-pointer |
| 926440 | 1.00 | gls1271 | crypto_dh/gls1271/ref4 | gcc -march=k8 -O2 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 3723272 | 1.00 | hector | crypto_dh/hector/ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| | nistp256 | crypto_dh/nistp256/nawaz | gcc -m64 -O3 -fomit-frame-pointer |
| 1829557 | 1.00 | sclaus1024 | crypto_dh/sclaus1024/gmp | g++ -march=k8 -O3 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 1983297 | 1.08 | sclaus1024 | crypto_dh/sclaus1024/cryptopp | g++ -m64 -march=k8 -Os -fomit-frame-pointer |
| 8800764 | 1.00 | sclaus2048 | crypto_dh/sclaus2048/gmp | g++ -Os -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 9514441 | 1.08 | sclaus2048 | crypto_dh/sclaus2048/cryptopp | g++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer |
| 1715700 | 1.00 | surf127eps | crypto_dh/surf127eps/mpfq | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 3434875 | 1.00 | surf2113 | crypto_dh/surf2113/mpfq | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| Time | Relative time | Primitive | Implementation | Compiler |
| 612281 | 1.00 | curve25519 | crypto_scalarmult/curve25519/amd64-64 | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 614355 | 1.00 | curve25519 | crypto_scalarmult/curve25519/donna_c64 | gcc -fno-schedule-insns -O3 -fomit-frame-pointer |
| 662286 | 1.08 | curve25519 | crypto_scalarmult/curve25519/amd64-51 | gcc -m64 -O -fomit-frame-pointer |
| 990029 | 1.62 | curve25519 | crypto_scalarmult/curve25519/donna | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer |
| 1284460 | 2.10 | curve25519 | crypto_scalarmult/curve25519/ref10 | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.4.1 20090725 (Red Hat 4.4.1-2)) |
| 19153143 | 31.28 | curve25519 | crypto_scalarmult/curve25519/ref | gcc -funroll-loops -m64 -O -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 |