| Time | Relative time | Primitive | Implementation | Compiler |
| 8313964 | 1.00 | claus | crypto_dh/claus/cryptopp | g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer (4.6.1) |
| 11407528 | 1.37 | claus | crypto_dh/claus/openssl | gcc -m64 -march=corei7 -O2 -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 |
| 604256 | 1.00 | curve2251 | crypto_dh/curve2251/relic/amd64-avx | gcc -funroll-loops -O2 -fomit-frame-pointer (4.6.1) |
| 676868 | 1.12 | curve2251 | crypto_dh/curve2251/relic/amd64-clmul | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer |
| 1242112 | 2.06 | curve2251 | crypto_dh/curve2251/relic/amd64-ssse3 | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer |
| | curve2251 | crypto_dh/curve2251/mpfq | gcc -m64 -O3 -fomit-frame-pointer |
| 796512 | 1.00 | curve25519 | crypto_dh/curve25519/ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer (4.6.1) |
| | curve25519 | crypto_dh/curve25519/mpfq | gcc -m64 -O3 -fomit-frame-pointer |
| 604944 | 1.00 | ecfp256e | crypto_dh/ecfp256e/v01/w8s8 | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer (4.6.1) |
| 612684 | 1.01 | ecfp256e | crypto_dh/ecfp256e/v01/w8s4 | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer |
| 623908 | 1.03 | ecfp256e | crypto_dh/ecfp256e/v01/w8s2 | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer |
| 650564 | 1.08 | ecfp256e | crypto_dh/ecfp256e/v01/w8s1 | gcc -m64 -O3 -fomit-frame-pointer |
| 1000540 | 1.65 | ecfp256e | crypto_dh/ecfp256e/v01/var | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer |
| 713684 | 1.00 | ecfp256h | crypto_dh/ecfp256h/v01/w8s8 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.6.1) |
| 722340 | 1.01 | ecfp256h | crypto_dh/ecfp256h/v01/w8s4 | gcc -m64 -O3 -fomit-frame-pointer |
| 734556 | 1.03 | ecfp256h | crypto_dh/ecfp256h/v01/w8s2 | gcc -march=nocona -O3 -fomit-frame-pointer |
| 763088 | 1.07 | ecfp256h | crypto_dh/ecfp256h/v01/w8s1 | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer |
| 1212652 | 1.70 | ecfp256h | crypto_dh/ecfp256h/v01/var | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer |
| 647184 | 1.00 | ecfp256i | crypto_dh/ecfp256i/v01/w8s8 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer (4.6.1) |
| 651508 | 1.01 | ecfp256i | crypto_dh/ecfp256i/v01/w8s4 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer |
| 661896 | 1.02 | ecfp256i | crypto_dh/ecfp256i/v01/w8s2 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer (4.6.1) |
| 683512 | 1.06 | ecfp256i | crypto_dh/ecfp256i/v01/w8s1 | gcc -m64 -O3 -fomit-frame-pointer |
| 1048108 | 1.62 | ecfp256i | crypto_dh/ecfp256i/v01/var | gcc -O3 -fomit-frame-pointer |
| 635152 | 1.00 | ecfp256q | crypto_dh/ecfp256q/v01/w8s8 | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer (4.6.1) |
| 640332 | 1.01 | ecfp256q | crypto_dh/ecfp256q/v01/w8s4 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer |
| 651260 | 1.03 | ecfp256q | crypto_dh/ecfp256q/v01/w8s2 | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer |
| 677180 | 1.07 | ecfp256q | crypto_dh/ecfp256q/v01/w8s1 | gcc -O3 -fomit-frame-pointer |
| 1026448 | 1.62 | ecfp256q | crypto_dh/ecfp256q/v01/var | gcc -march=k8 -O3 -fomit-frame-pointer |
| 762944 | 1.00 | ecfp256s | crypto_dh/ecfp256s/v01/w8s8 | gcc -m64 -O3 -fomit-frame-pointer (4.6.1) |
| 768160 | 1.01 | ecfp256s | crypto_dh/ecfp256s/v01/w8s4 | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer |
| 784772 | 1.03 | ecfp256s | crypto_dh/ecfp256s/v01/w8s2 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer |
| 811700 | 1.06 | ecfp256s | crypto_dh/ecfp256s/v01/w8s1 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer |
| 1295144 | 1.70 | ecfp256s | crypto_dh/ecfp256s/v01/var | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer |
| 740536 | 1.00 | gls1271 | crypto_dh/gls1271/ref4 | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer (4.6.1) |
| 352124 | 1.00 | gls254 | crypto_dh/gls254/ref | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer (4.6.1) |
| 611468 | 1.00 | hecfp127i | crypto_dh/hecfp127i/v02/w8s32 | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.6.1) |
| 612752 | 1.00 | hecfp127i | crypto_dh/hecfp127i/v02/w8s08 | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer |
| 614064 | 1.00 | hecfp127i | crypto_dh/hecfp127i/v02/w8s16 | gcc -march=k8 -O -fomit-frame-pointer |
| 618908 | 1.01 | hecfp127i | crypto_dh/hecfp127i/v02/w8s04 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer |
| 629164 | 1.03 | hecfp127i | crypto_dh/hecfp127i/v02/w8s02 | gcc -march=k8 -O3 -fomit-frame-pointer |
| 659468 | 1.08 | hecfp127i | crypto_dh/hecfp127i/v02/w8s01 | gcc -O3 -fomit-frame-pointer |
| 1073416 | 1.76 | hecfp127i | crypto_dh/hecfp127i/v02/var | gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer |
| 486852 | 1.00 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s16glv4 | gcc -m64 -O3 -fomit-frame-pointer (4.6.1) |
| 487612 | 1.00 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s32glv4 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer |
| 489696 | 1.01 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s08glv4 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer |
| 497936 | 1.02 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s04glv4 | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer |
| 518280 | 1.06 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s02glv4 | gcc -march=barcelona -O2 -fomit-frame-pointer |
| 557396 | 1.14 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s01glv4 | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer |
| 755220 | 1.55 | hecfp128bk | crypto_dh/hecfp128bk/v02/varglv4 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer |
| 487244 | 1.00 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s32glv4 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer (4.6.1) |
| 487660 | 1.00 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s16glv4 | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer |
| 487908 | 1.00 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s08glv4 | gcc -m64 -march=nocona -O2 -fomit-frame-pointer |
| 496368 | 1.02 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s04glv4 | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer |
| 516096 | 1.06 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s02glv4 | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer |
| 556372 | 1.14 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s01glv4 | gcc -march=barcelona -O2 -fomit-frame-pointer |
| 752144 | 1.54 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/varglv4 | gcc -march=k8 -O2 -fomit-frame-pointer |
| 940516 | 1.00 | hecfp128i | crypto_dh/hecfp128i/v02/w8s16 | gcc -O2 -fomit-frame-pointer (4.6.1) |
| 942108 | 1.00 | hecfp128i | crypto_dh/hecfp128i/v02/w8s32 | gcc -funroll-loops -m64 -O -fomit-frame-pointer |
| 942460 | 1.00 | hecfp128i | crypto_dh/hecfp128i/v02/w8s08 | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer |
| 953176 | 1.01 | hecfp128i | crypto_dh/hecfp128i/v02/w8s04 | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer |
| 973184 | 1.03 | hecfp128i | crypto_dh/hecfp128i/v02/w8s02 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer |
| 1014708 | 1.08 | hecfp128i | crypto_dh/hecfp128i/v02/w8s01 | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer |
| 1660028 | 1.77 | hecfp128i | crypto_dh/hecfp128i/v02/var | gcc -m64 -march=nocona -O -fomit-frame-pointer |
| | hector | crypto_dh/hector/ref | gcc -m64 -O3 -fomit-frame-pointer |
| 484744 | 1.00 | kumfp127g | crypto_dh/kumfp127g/v02/var | gcc -m64 -O2 -fomit-frame-pointer (4.6.1) |
| 750272 | 1.00 | kumfp128g | crypto_dh/kumfp128g/v02/var | gcc -m64 -march=nocona -Os -fomit-frame-pointer (4.6.1) |
| 1489224 | 1.00 | sclaus1024 | crypto_dh/sclaus1024/cryptopp | g++ -m64 -Os -fomit-frame-pointer (4.6.1) |
| | sclaus1024 | crypto_dh/sclaus1024/gmp | g++ -m64 -O3 -fomit-frame-pointer |
| 7382568 | 1.00 | sclaus2048 | crypto_dh/sclaus2048/cryptopp | g++ -fno-schedule-insns -O2 -fomit-frame-pointer (4.6.1) |
| | 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 |