summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>2017-12-12 04:01:22 +0300
committerNiels Möller <nisse@lysator.liu.se>2018-01-13 10:12:35 +0100
commit7560b387953b1ee6dd0caa5d3396979c2954b31e (patch)
treec2f70ae77e1ea32651c14ecd30568ae1251ede27
parentc380faf73a1cb46ccb25ee19902663a165739171 (diff)
downloadnettle-7560b387953b1ee6dd0caa5d3396979c2954b31e.tar.gz
Allow user to specify multiple algorithms to nettle-benchmark
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-rw-r--r--examples/nettle-benchmark.c47
1 files changed, 26 insertions, 21 deletions
diff --git a/examples/nettle-benchmark.c b/examples/nettle-benchmark.c
index b73196b0..9327881b 100644
--- a/examples/nettle-benchmark.c
+++ b/examples/nettle-benchmark.c
@@ -809,7 +809,7 @@ main(int argc, char **argv)
break;
case OPT_HELP:
- printf("Usage: nettle-benchmark [-f clock frequency] [alg]\n");
+ printf("Usage: nettle-benchmark [-f clock frequency] [alg...]\n");
return EXIT_SUCCESS;
case '?':
@@ -819,8 +819,6 @@ main(int argc, char **argv)
abort();
}
- alg = argv[optind];
-
time_init();
bench_sha1_compress();
bench_salsa20_core();
@@ -830,29 +828,36 @@ main(int argc, char **argv)
header();
- if (!alg || strstr ("memxor", alg))
+ do
{
- time_memxor();
- printf("\n");
- }
-
- for (i = 0; hashes[i]; i++)
- if (!alg || strstr(hashes[i]->name, alg))
- time_hash(hashes[i]);
+ alg = argv[optind];
+
+ if (!alg || strstr ("memxor", alg))
+ {
+ time_memxor();
+ printf("\n");
+ }
+
+ for (i = 0; hashes[i]; i++)
+ if (!alg || strstr(hashes[i]->name, alg))
+ time_hash(hashes[i]);
+
+ if (!alg || strstr ("umac", alg))
+ time_umac();
- if (!alg || strstr ("umac", alg))
- time_umac();
+ if (!alg || strstr ("poly1305-aes", alg))
+ time_poly1305_aes();
- if (!alg || strstr ("poly1305-aes", alg))
- time_poly1305_aes();
+ for (i = 0; ciphers[i]; i++)
+ if (!alg || strstr(ciphers[i]->name, alg))
+ time_cipher(ciphers[i]);
- for (i = 0; ciphers[i]; i++)
- if (!alg || strstr(ciphers[i]->name, alg))
- time_cipher(ciphers[i]);
+ for (i = 0; aeads[i]; i++)
+ if (!alg || strstr(aeads[i]->name, alg))
+ time_aead(aeads[i]);
- for (i = 0; aeads[i]; i++)
- if (!alg || strstr(aeads[i]->name, alg))
- time_aead(aeads[i]);
+ optind++;
+ } while (alg && argv[optind]);
return 0;
}