Time | Relative time | Primitive | Implementation | Compiler |
10158443 | 1.00 | claus | crypto_dh/claus/gmp | g++ -m64 -march=k8 -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
10987140 | 1.08 | claus | crypto_dh/claus/cryptopp | g++ -m64 -march=native -mtune=native -O -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 |
1283003 | 1.00 | curve2251 | crypto_dh/curve2251/relic/amd64-ssse3 | gcc -m64 -march=nocona -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
3449040 | 2.69 | curve2251 | crypto_dh/curve2251/mpfq | gcc -funroll-loops -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 |
1206495 | 1.00 | curve25519 | crypto_dh/curve25519/ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
1588365 | 1.32 | curve25519 | crypto_dh/curve25519/mpfq | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer |
857640 | 1.00 | ecfp256e | crypto_dh/ecfp256e/v01/w8s8 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
866970 | 1.01 | ecfp256e | crypto_dh/ecfp256e/v01/w8s4 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer |
883928 | 1.03 | ecfp256e | crypto_dh/ecfp256e/v01/w8s2 | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer |
923377 | 1.08 | ecfp256e | crypto_dh/ecfp256e/v01/w8s1 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
1432830 | 1.67 | ecfp256e | crypto_dh/ecfp256e/v01/var | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
1047517 | 1.00 | ecfp256h | crypto_dh/ecfp256h/v01/w8s8 | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
1055662 | 1.01 | ecfp256h | crypto_dh/ecfp256h/v01/w8s4 | gcc -m64 -O3 -fomit-frame-pointer |
1074788 | 1.03 | ecfp256h | crypto_dh/ecfp256h/v01/w8s2 | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
1116375 | 1.07 | ecfp256h | crypto_dh/ecfp256h/v01/w8s1 | gcc -march=k8 -O3 -fomit-frame-pointer |
1785742 | 1.70 | ecfp256h | crypto_dh/ecfp256h/v01/var | gcc -march=k8 -O3 -fomit-frame-pointer |
1506705 | 1.00 | ecfp256i | crypto_dh/ecfp256i/v01/var | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
| | ecfp256i | crypto_dh/ecfp256i/v01/w8s1 | gcc -m64 -O3 -fomit-frame-pointer |
| | ecfp256i | crypto_dh/ecfp256i/v01/w8s2 | gcc -m64 -O3 -fomit-frame-pointer |
| | ecfp256i | crypto_dh/ecfp256i/v01/w8s4 | gcc -m64 -O3 -fomit-frame-pointer |
| | ecfp256i | crypto_dh/ecfp256i/v01/w8s8 | gcc -m64 -O3 -fomit-frame-pointer |
907402 | 1.00 | ecfp256q | crypto_dh/ecfp256q/v01/w8s8 | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
917535 | 1.01 | ecfp256q | crypto_dh/ecfp256q/v01/w8s4 | gcc -march=k8 -O3 -fomit-frame-pointer |
932865 | 1.03 | ecfp256q | crypto_dh/ecfp256q/v01/w8s2 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer |
971100 | 1.07 | ecfp256q | crypto_dh/ecfp256q/v01/w8s1 | gcc -march=k8 -O3 -fomit-frame-pointer |
1482922 | 1.63 | ecfp256q | crypto_dh/ecfp256q/v01/var | gcc -O3 -fomit-frame-pointer |
1078950 | 1.00 | ecfp256s | crypto_dh/ecfp256s/v01/w8s8 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
1089187 | 1.01 | ecfp256s | crypto_dh/ecfp256s/v01/w8s4 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer |
1108418 | 1.03 | ecfp256s | crypto_dh/ecfp256s/v01/w8s2 | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer |
1149570 | 1.07 | ecfp256s | crypto_dh/ecfp256s/v01/w8s1 | gcc -march=k8 -O3 -fomit-frame-pointer |
1847422 | 1.71 | ecfp256s | crypto_dh/ecfp256s/v01/var | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
3012337 | 1.00 | ed448goldilocks | crypto_dh/ed448goldilocks/amd64 (2014-10-12) | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
3318083 | 1.10 | ed448goldilocks | crypto_dh/ed448goldilocks/64 | gcc -m64 -O3 -fomit-frame-pointer |
6671798 | 2.21 | ed448goldilocks | crypto_dh/ed448goldilocks/32 | gcc -m64 -march=k8 -O3 -fomit-frame-pointer |
| | ed448goldilocks | crypto_dh/ed448goldilocks/arm32 | gcc -m64 -O3 -fomit-frame-pointer |
| | ed448goldilocks | crypto_dh/ed448goldilocks/neon | gcc -m64 -O3 -fomit-frame-pointer |
883770 | 1.00 | gls1271 | crypto_dh/gls1271/ref4 | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
| | gls254 | crypto_dh/gls254/prot | gcc -m64 -O3 -fomit-frame-pointer |
| | gls254 | crypto_dh/gls254/ref | gcc -m64 -O3 -fomit-frame-pointer |
| | gls254prot | crypto_dh/gls254prot/prot | gcc -m64 -O3 -fomit-frame-pointer |
875212 | 1.00 | hecfp127i | crypto_dh/hecfp127i/v02/w8s32 | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
876997 | 1.00 | hecfp127i | crypto_dh/hecfp127i/v02/w8s16 | gcc -march=k8 -O3 -fomit-frame-pointer |
882173 | 1.01 | hecfp127i | crypto_dh/hecfp127i/v02/w8s08 | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer |
891682 | 1.02 | hecfp127i | crypto_dh/hecfp127i/v02/w8s04 | gcc -march=k8 -O3 -fomit-frame-pointer |
912945 | 1.04 | hecfp127i | crypto_dh/hecfp127i/v02/w8s02 | gcc -funroll-loops -O3 -fomit-frame-pointer |
951727 | 1.09 | hecfp127i | crypto_dh/hecfp127i/v02/w8s01 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer |
1562287 | 1.79 | hecfp127i | crypto_dh/hecfp127i/v02/var | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer |
805867 | 1.00 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s32glv4 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
810323 | 1.01 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s16glv4 | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer |
817830 | 1.01 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s08glv4 | gcc -march=nocona -O3 -fomit-frame-pointer |
834645 | 1.04 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s04glv4 | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer |
867645 | 1.08 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s02glv4 | gcc -m64 -O3 -fomit-frame-pointer |
931717 | 1.16 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s01glv4 | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer |
1263293 | 1.57 | hecfp128bk | crypto_dh/hecfp128bk/v02/varglv4 | gcc -march=k8 -O -fomit-frame-pointer |
802230 | 1.00 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s32glv4 | gcc -march=barcelona -O2 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
807787 | 1.01 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s16glv4 | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer |
816615 | 1.02 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s08glv4 | gcc -m64 -march=core2 -O2 -fomit-frame-pointer |
831757 | 1.04 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s04glv4 | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer |
864548 | 1.08 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s02glv4 | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer |
930472 | 1.16 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s01glv4 | gcc -m64 -march=nocona -O3 -fomit-frame-pointer |
1258328 | 1.57 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/varglv4 | gcc -march=barcelona -O2 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
1560975 | 1.00 | hecfp128i | crypto_dh/hecfp128i/v02/w8s32 | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
1563892 | 1.00 | hecfp128i | crypto_dh/hecfp128i/v02/w8s16 | gcc -fno-schedule-insns -O3 -fomit-frame-pointer |
1572915 | 1.01 | hecfp128i | crypto_dh/hecfp128i/v02/w8s08 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer |
1589993 | 1.02 | hecfp128i | crypto_dh/hecfp128i/v02/w8s04 | gcc -m64 -O3 -fomit-frame-pointer |
1623990 | 1.04 | hecfp128i | crypto_dh/hecfp128i/v02/w8s02 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer |
1693725 | 1.09 | hecfp128i | crypto_dh/hecfp128i/v02/w8s01 | gcc -m64 -march=k8 -O3 -fomit-frame-pointer |
2775982 | 1.78 | hecfp128i | crypto_dh/hecfp128i/v02/var | gcc -m64 -march=k8 -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 |
2825168 | 1.00 | hector | crypto_dh/hector/ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
720645 | 1.00 | kumfp127g | crypto_dh/kumfp127g/v02/var | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
1285485 | 1.00 | kumfp128g | crypto_dh/kumfp128g/v02/var | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
| | kumfp61e2g | crypto_dh/kumfp61e2g/v01/var | gcc -m64 -O3 -fomit-frame-pointer |
| | kumfp64e2g | crypto_dh/kumfp64e2g/v01/var | gcc -m64 -O3 -fomit-frame-pointer |
1650217 | 1.00 | kummer | crypto_dh/kummer/ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
4677983 | 1.00 | nistp256 | crypto_dh/nistp256/ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
5468902 | 1.17 | nistp256 | crypto_dh/nistp256/wbl | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer |
1715602 | 1.00 | sclaus1024 | crypto_dh/sclaus1024/gmp | g++ -march=k8 -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
1963785 | 1.14 | sclaus1024 | crypto_dh/sclaus1024/cryptopp | g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer |
8495205 | 1.00 | sclaus2048 | crypto_dh/sclaus2048/gmp | g++ -m64 -O -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
9701422 | 1.14 | sclaus2048 | crypto_dh/sclaus2048/cryptopp | g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer |
1689817 | 1.00 | surf127eps | crypto_dh/surf127eps/mpfq | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |
2649502 | 1.00 | surf2113 | crypto_dh/surf2113/mpfq | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer (4.5.0 20100604 [gcc-4 5-branch revision 160292]) |