summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2017-07-17 19:14:33 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2017-07-17 19:16:20 +0200
commit7280209b67b730176e6374e22d20918a02e7a359 (patch)
tree8f8334d709cdfb4fab314c0116f5890a6ac6bd03
parent831d760b4962567d5600969e85481ccef86daf19 (diff)
downloadgnutls-tmp-gnutls-benchmark-update.tar.gz
gnutls-cli: re-use priorities when measuring performancetmp-gnutls-benchmark-update
This avoids measuring cache misses due to priority processing time. Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
-rw-r--r--src/benchmark-tls.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/benchmark-tls.c b/src/benchmark-tls.c
index 1b0cb51394..472a2739a7 100644
--- a/src/benchmark-tls.c
+++ b/src/benchmark-tls.c
@@ -430,6 +430,7 @@ static void test_ciphersuite_kx(const char *cipher_prio, unsigned pk)
struct benchmark_st st;
struct timespec tr_start, tr_stop;
double avg, sstddev;
+ gnutls_priority_t priority_cache;
diffs_size = 0;
@@ -486,13 +487,19 @@ static void test_ciphersuite_kx(const char *cipher_prio, unsigned pk)
start_benchmark(&st);
+ ret = gnutls_priority_init(&priority_cache, cipher_prio, &str);
+ if (ret < 0) {
+ fprintf(stderr, "Error in %s\n", str);
+ exit(1);
+ }
+
do {
gnutls_init(&server, GNUTLS_SERVER);
ret =
- gnutls_priority_set_direct(server, cipher_prio, &str);
+ gnutls_priority_set2(server, priority_cache, 0);
if (ret < 0) {
- fprintf(stderr, "Error in %s\n", str);
+ fprintf(stderr, "Error in setting priority: %s\n", gnutls_strerror(ret));
exit(1);
}
gnutls_credentials_set(server, GNUTLS_CRD_ANON,
@@ -547,6 +554,7 @@ static void test_ciphersuite_kx(const char *cipher_prio, unsigned pk)
fprintf(stdout, "%38s ", suite);
gnutls_free(suite);
stop_benchmark(&st, "transactions", 1);
+ gnutls_priority_deinit(priority_cache);
avg = calc_avg(diffs, diffs_size);
sstddev = calc_sstdev(diffs, diffs_size, avg);