diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2017-07-17 19:14:33 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2017-07-17 19:16:20 +0200 |
commit | 7280209b67b730176e6374e22d20918a02e7a359 (patch) | |
tree | 8f8334d709cdfb4fab314c0116f5890a6ac6bd03 /src/benchmark-tls.c | |
parent | 831d760b4962567d5600969e85481ccef86daf19 (diff) | |
download | gnutls-7280209b67b730176e6374e22d20918a02e7a359.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>
Diffstat (limited to 'src/benchmark-tls.c')
-rw-r--r-- | src/benchmark-tls.c | 12 |
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); |