Commit 4487719f authored by Niels Möller's avatar Niels Möller

Simplify ecc-benchmark.c and delete curve25519 special case.

parent 0a8fb3bb
2019-12-17 Niels Möller <nisse@lysator.liu.se>
* examples/ecc-benchmark.c (bench_dup_hh): Rename, and use
ecc->dup pointer.
(bench_dup_jj): ... old name.
(bench_add_hh): Rename, and use ecc->addd_hh pointer.
(bench_add_jja): ... old name.
(bench_dup_eh, bench_add_eh): Deleted.
(bench_curve): Update, and delete curve25519 special case.
(main): Update table headers accordingly.
2019-12-15 Niels Möller <nisse@lysator.liu.se> 2019-12-15 Niels Möller <nisse@lysator.liu.se>
* ecc-dup-eh.c (ecc_dup_eh): Eliminate one unneeded ecc_modp_add. * ecc-dup-eh.c (ecc_dup_eh): Eliminate one unneeded ecc_modp_add.
......
...@@ -191,17 +191,17 @@ bench_modinv_powm (void *p) ...@@ -191,17 +191,17 @@ bench_modinv_powm (void *p)
#endif #endif
static void static void
bench_dup_jj (void *p) bench_dup_hh (void *p)
{ {
struct ecc_ctx *ctx = (struct ecc_ctx *) p; struct ecc_ctx *ctx = (struct ecc_ctx *) p;
ecc_dup_jj (ctx->ecc, ctx->rp, ctx->ap, ctx->tp); ctx->ecc->dup (ctx->ecc, ctx->rp, ctx->ap, ctx->tp);
} }
static void static void
bench_add_jja (void *p) bench_add_hh (void *p)
{ {
struct ecc_ctx *ctx = (struct ecc_ctx *) p; struct ecc_ctx *ctx = (struct ecc_ctx *) p;
ecc_add_jja (ctx->ecc, ctx->rp, ctx->ap, ctx->bp, ctx->tp); ctx->ecc->add_hh (ctx->ecc, ctx->rp, ctx->ap, ctx->bp, ctx->tp);
} }
static void static void
...@@ -225,20 +225,6 @@ bench_mul_a (void *p) ...@@ -225,20 +225,6 @@ bench_mul_a (void *p)
ctx->ecc->mul (ctx->ecc, ctx->rp, ctx->ap, ctx->bp, ctx->tp); ctx->ecc->mul (ctx->ecc, ctx->rp, ctx->ap, ctx->bp, ctx->tp);
} }
static void
bench_dup_eh (void *p)
{
struct ecc_ctx *ctx = (struct ecc_ctx *) p;
ecc_dup_eh (ctx->ecc, ctx->rp, ctx->ap, ctx->tp);
}
static void
bench_add_eh (void *p)
{
struct ecc_ctx *ctx = (struct ecc_ctx *) p;
ecc_add_eh (ctx->ecc, ctx->rp, ctx->ap, ctx->bp, ctx->tp);
}
#if NETTLE_USE_MINI_GMP #if NETTLE_USE_MINI_GMP
static void static void
mpn_random (mp_limb_t *xp, mp_size_t n) mpn_random (mp_limb_t *xp, mp_size_t n)
...@@ -254,7 +240,7 @@ bench_curve (const struct ecc_curve *ecc) ...@@ -254,7 +240,7 @@ bench_curve (const struct ecc_curve *ecc)
{ {
struct ecc_ctx ctx; struct ecc_ctx ctx;
double modp, reduce, modq, modinv, modinv_gcd, modinv_powm, double modp, reduce, modq, modinv, modinv_gcd, modinv_powm,
dup_jj, add_jja, add_hhh, dup_hh, add_hh, add_hhh,
mul_g, mul_a; mul_g, mul_a;
mp_limb_t mask; mp_limb_t mask;
...@@ -302,17 +288,8 @@ bench_curve (const struct ecc_curve *ecc) ...@@ -302,17 +288,8 @@ bench_curve (const struct ecc_curve *ecc)
#else #else
modinv_powm = 0; modinv_powm = 0;
#endif #endif
if (ecc->p.bit_size == 255) dup_hh = time_function (bench_dup_hh, &ctx);
{ add_hh = time_function (bench_add_hh, &ctx);
/* For now, curve25519 is a special case */
dup_jj = time_function (bench_dup_eh, &ctx);
add_jja = time_function (bench_add_eh, &ctx);
}
else
{
dup_jj = time_function (bench_dup_jj, &ctx);
add_jja = time_function (bench_add_jja, &ctx);
}
add_hhh = time_function (bench_add_hhh, &ctx); add_hhh = time_function (bench_add_hhh, &ctx);
mul_g = time_function (bench_mul_g, &ctx); mul_g = time_function (bench_mul_g, &ctx);
mul_a = time_function (bench_mul_a, &ctx); mul_a = time_function (bench_mul_a, &ctx);
...@@ -325,7 +302,7 @@ bench_curve (const struct ecc_curve *ecc) ...@@ -325,7 +302,7 @@ bench_curve (const struct ecc_curve *ecc)
printf ("%4d %6.4f %6.4f %6.4f %6.2f %6.3f %6.2f %6.3f %6.3f %6.3f %6.1f %6.1f\n", printf ("%4d %6.4f %6.4f %6.4f %6.2f %6.3f %6.2f %6.3f %6.3f %6.3f %6.1f %6.1f\n",
ecc->p.bit_size, 1e6 * modp, 1e6 * reduce, 1e6 * modq, ecc->p.bit_size, 1e6 * modp, 1e6 * reduce, 1e6 * modq,
1e6 * modinv, 1e6 * modinv_gcd, 1e6 * modinv_powm, 1e6 * modinv, 1e6 * modinv_gcd, 1e6 * modinv_powm,
1e6 * dup_jj, 1e6 * add_jja, 1e6 * add_hhh, 1e6 * dup_hh, 1e6 * add_hh, 1e6 * add_hhh,
1e6 * mul_g, 1e6 * mul_a); 1e6 * mul_g, 1e6 * mul_a);
} }
...@@ -349,7 +326,7 @@ main (int argc UNUSED, char **argv UNUSED) ...@@ -349,7 +326,7 @@ main (int argc UNUSED, char **argv UNUSED)
time_init(); time_init();
printf ("%4s %6s %6s %6s %6s %6s %6s %6s %6s %6s %6s %6s (us)\n", printf ("%4s %6s %6s %6s %6s %6s %6s %6s %6s %6s %6s %6s (us)\n",
"size", "modp", "reduce", "modq", "modinv", "mi_gcd", "mi_pow", "size", "modp", "reduce", "modq", "modinv", "mi_gcd", "mi_pow",
"dup_jj", "ad_jja", "ad_hhh", "dup_hh", "add_hh", "ad_hhh",
"mul_g", "mul_a"); "mul_g", "mul_a");
for (i = 0; i < numberof (curves); i++) for (i = 0; i < numberof (curves); i++)
bench_curve (curves[i]); bench_curve (curves[i]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment