Time | Relative time | Primitive | Implementation | Compiler |
9278503 | 1.00 | claus | crypto_dh/claus/gmp | g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
10708034 | 1.15 | claus | crypto_dh/claus/cryptopp | g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer |
16778534 | 1.81 | claus | crypto_dh/claus/openssl | gcc -march=nocona -O2 -fomit-frame-pointer |
| | claus | crypto_dh/claus/ntl | g++ -m64 -O3 -fomit-frame-pointer |
1169694 | 1.00 | curve2251 | crypto_dh/curve2251/relic/amd64-ssse3 | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
3216227 | 2.75 | curve2251 | crypto_dh/curve2251/mpfq | gcc -funroll-loops -Os -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 |
844637 | 1.00 | curve25519 | crypto_dh/curve25519/ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
1350106 | 1.60 | curve25519 | crypto_dh/curve25519/mpfq | gcc -march=nocona -O3 -fomit-frame-pointer |
698852 | 1.00 | ecfp256e | crypto_dh/ecfp256e/v01/w8s8 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
704058 | 1.01 | ecfp256e | crypto_dh/ecfp256e/v01/w8s4 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
717067 | 1.03 | ecfp256e | crypto_dh/ecfp256e/v01/w8s2 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
748412 | 1.07 | ecfp256e | crypto_dh/ecfp256e/v01/w8s1 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
1152015 | 1.65 | ecfp256e | crypto_dh/ecfp256e/v01/var | gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
844227 | 1.00 | ecfp256h | crypto_dh/ecfp256h/v01/w8s8 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
847621 | 1.00 | ecfp256h | crypto_dh/ecfp256h/v01/w8s4 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
861261 | 1.02 | ecfp256h | crypto_dh/ecfp256h/v01/w8s2 | gcc -m64 -march=nocona -O3 -fomit-frame-pointer |
893215 | 1.06 | ecfp256h | crypto_dh/ecfp256h/v01/w8s1 | gcc -m64 -march=k8 -O3 -fomit-frame-pointer |
1425073 | 1.69 | ecfp256h | crypto_dh/ecfp256h/v01/var | gcc -march=k8 -O3 -fomit-frame-pointer |
1219933 | 1.00 | ecfp256i | crypto_dh/ecfp256i/v01/var | gcc -m64 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
| | ecfp256i | crypto_dh/ecfp256i/v01/w8s1 | gcc -m64 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
| | ecfp256i | crypto_dh/ecfp256i/v01/w8s2 | gcc -m64 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
| | ecfp256i | crypto_dh/ecfp256i/v01/w8s4 | gcc -m64 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
| | ecfp256i | crypto_dh/ecfp256i/v01/w8s8 | gcc -m64 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
740360 | 1.00 | ecfp256q | crypto_dh/ecfp256q/v01/w8s8 | gcc -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
747031 | 1.01 | ecfp256q | crypto_dh/ecfp256q/v01/w8s4 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer |
758388 | 1.02 | ecfp256q | crypto_dh/ecfp256q/v01/w8s2 | gcc -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
786249 | 1.06 | ecfp256q | crypto_dh/ecfp256q/v01/w8s1 | gcc -m64 -march=k8 -O3 -fomit-frame-pointer |
1194727 | 1.61 | ecfp256q | crypto_dh/ecfp256q/v01/var | gcc -m64 -march=k8 -O3 -fomit-frame-pointer |
889539 | 1.00 | ecfp256s | crypto_dh/ecfp256s/v01/w8s8 | gcc -m64 -march=nocona -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
897594 | 1.01 | ecfp256s | crypto_dh/ecfp256s/v01/w8s4 | gcc -O3 -fomit-frame-pointer |
914100 | 1.03 | ecfp256s | crypto_dh/ecfp256s/v01/w8s2 | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer |
946824 | 1.06 | ecfp256s | crypto_dh/ecfp256s/v01/w8s1 | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer |
1523349 | 1.71 | ecfp256s | crypto_dh/ecfp256s/v01/var | gcc -m64 -march=core2 -O3 -fomit-frame-pointer |
763879 | 1.00 | gls1271 | crypto_dh/gls1271/ref4 | gcc -funroll-loops -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
| | gls254 | crypto_dh/gls254/prot | gcc -m64 -O3 -fomit-frame-pointer |
| | gls254 | crypto_dh/gls254/ref | gcc -m64 -O3 -fomit-frame-pointer |
709924 | 1.00 | hecfp127i | crypto_dh/hecfp127i/v02/w8s32 | gcc -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
711670 | 1.00 | hecfp127i | crypto_dh/hecfp127i/v02/w8s16 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer |
714255 | 1.01 | hecfp127i | crypto_dh/hecfp127i/v02/w8s08 | gcc -fno-schedule-insns -O3 -fomit-frame-pointer |
722400 | 1.02 | hecfp127i | crypto_dh/hecfp127i/v02/w8s04 | gcc -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
737836 | 1.04 | hecfp127i | crypto_dh/hecfp127i/v02/w8s02 | gcc -fno-schedule-insns -O3 -fomit-frame-pointer |
770976 | 1.09 | hecfp127i | crypto_dh/hecfp127i/v02/w8s01 | gcc -fno-schedule-insns -O3 -fomit-frame-pointer |
1271558 | 1.79 | hecfp127i | crypto_dh/hecfp127i/v02/var | gcc -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
639606 | 1.00 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s32glv4 | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
641939 | 1.00 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s16glv4 | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
647315 | 1.01 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s08glv4 | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer |
659061 | 1.03 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s04glv4 | gcc -fno-schedule-insns -O2 -fomit-frame-pointer |
684403 | 1.07 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s02glv4 | gcc -fno-schedule-insns -O3 -fomit-frame-pointer |
736270 | 1.15 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s01glv4 | gcc -O3 -fomit-frame-pointer |
1005144 | 1.57 | hecfp128bk | crypto_dh/hecfp128bk/v02/varglv4 | gcc -march=k8 -O3 -fomit-frame-pointer |
637809 | 1.00 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s32glv4 | gcc -fno-schedule-insns -O2 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
638906 | 1.00 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s16glv4 | gcc -m64 -O3 -fomit-frame-pointer |
644864 | 1.01 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s08glv4 | gcc -m64 -O3 -fomit-frame-pointer |
656130 | 1.03 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s04glv4 | gcc -m64 -O3 -fomit-frame-pointer |
682800 | 1.07 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s02glv4 | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer |
734731 | 1.15 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s01glv4 | gcc -O2 -fomit-frame-pointer |
1001318 | 1.57 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/varglv4 | gcc -fno-schedule-insns -O3 -fomit-frame-pointer |
1240582 | 1.00 | hecfp128i | crypto_dh/hecfp128i/v02/w8s32 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
1247850 | 1.01 | hecfp128i | crypto_dh/hecfp128i/v02/w8s16 | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer |
1252003 | 1.01 | hecfp128i | crypto_dh/hecfp128i/v02/w8s08 | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer |
1266967 | 1.02 | hecfp128i | crypto_dh/hecfp128i/v02/w8s04 | gcc -m64 -march=core2 -O2 -fomit-frame-pointer |
1292188 | 1.04 | hecfp128i | crypto_dh/hecfp128i/v02/w8s02 | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer |
1348779 | 1.09 | hecfp128i | crypto_dh/hecfp128i/v02/w8s01 | gcc -m64 -O3 -fomit-frame-pointer |
2231120 | 1.80 | hecfp128i | crypto_dh/hecfp128i/v02/var | gcc -m64 -march=core2 -O2 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/varglv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/w8s01glv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/w8s02glv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/w8s04glv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/w8s08glv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/w8s16glv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp61e2bk | crypto_dh/hecfp61e2bk/v01/w8s32glv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/var | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/w8s01 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/w8s02 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/w8s04 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/w8s08 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/w8s16 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp61e2i | crypto_dh/hecfp61e2i/v01/w8s32 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/varglv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/w8s01glv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/w8s02glv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/w8s04glv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/w8s08glv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/w8s16glv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2bk | crypto_dh/hecfp64e2bk/v01/w8s32glv8 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/var | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/w8s01 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/w8s02 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/w8s04 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/w8s08 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/w8s16 | gcc -m64 -O3 -fomit-frame-pointer |
| | hecfp64e2i | crypto_dh/hecfp64e2i/v01/w8s32 | gcc -m64 -O3 -fomit-frame-pointer |
2585448 | 1.00 | hector | crypto_dh/hector/ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
622309 | 1.00 | kumfp127g | crypto_dh/kumfp127g/v02/var | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
1028446 | 1.00 | kumfp128g | crypto_dh/kumfp128g/v02/var | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
| | kumfp61e2g | crypto_dh/kumfp61e2g/v01/var | gcc -m64 -O3 -fomit-frame-pointer |
| | kumfp64e2g | crypto_dh/kumfp64e2g/v01/var | gcc -m64 -O3 -fomit-frame-pointer |
| | kummer | crypto_dh/kummer/ref | gcc -m64 -O3 -fomit-frame-pointer |
1564918 | 1.00 | sclaus1024 | crypto_dh/sclaus1024/gmp | g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
1904738 | 1.22 | sclaus1024 | crypto_dh/sclaus1024/cryptopp | g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
7734973 | 1.00 | sclaus2048 | crypto_dh/sclaus2048/gmp | g++ -m64 -march=k8 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
9002717 | 1.16 | sclaus2048 | crypto_dh/sclaus2048/cryptopp | g++ -m64 -O2 -fomit-frame-pointer |
1427980 | 1.00 | surf127eps | crypto_dh/surf127eps/mpfq | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |
2532847 | 1.00 | surf2113 | crypto_dh/surf2113/mpfq | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer (4.1.2 20080704 (Red Hat 4.1.2-54)) |