diff options
author | lloyd <[email protected]> | 2010-10-13 03:25:16 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2010-10-13 03:25:16 +0000 |
commit | ba142ed2eaa21445d49cbbc8ae3b3d4dc625b9d7 (patch) | |
tree | be1a9fa07d0ea26fd7713bb52205f7a3bcc3e907 /checks/bench.cpp | |
parent | 406d4f8556d41083bfa551e7a777b0cb02925b6c (diff) | |
parent | 5913bf42b4c32e43d0db11bf9299130f3b0b62a4 (diff) |
propagate from branch 'net.randombit.botan' (head 2898d79f992f27a328a3e41d34b46eb1052da0de)
to branch 'net.randombit.botan.c++0x' (head 6cba76268fd69a73195760c021b7f881b8a6552c)
Diffstat (limited to 'checks/bench.cpp')
-rw-r--r-- | checks/bench.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/checks/bench.cpp b/checks/bench.cpp index 9cd193f4f..cfe5dcc10 100644 --- a/checks/bench.cpp +++ b/checks/bench.cpp @@ -14,9 +14,12 @@ #include <botan/engine.h> #include <botan/parsing.h> #include <botan/symkey.h> -#include <botan/time.h> #include <botan/hex.h> +#include <chrono> + +typedef std::chrono::high_resolution_clock benchmark_clock; + #include "common.h" #include "bench.h" @@ -220,17 +223,23 @@ bool bench_algo(const std::string& algo, Botan::Pipe pipe(filt, new Botan::BitBucket); pipe.start_msg(); - const u64bit start = Botan::get_nanoseconds_clock(); - u64bit nanoseconds_used = 0; + std::chrono::nanoseconds max_time(nanoseconds_max); + std::chrono::nanoseconds time_used(0); + + auto start = benchmark_clock::now(); + u64bit reps = 0; - while(nanoseconds_used < nanoseconds_max) + while(time_used < max_time) { pipe.write(&buf[0], buf.size()); ++reps; - nanoseconds_used = Botan::get_nanoseconds_clock() - start; + time_used = benchmark_clock::now() - start; } + u64bit nanoseconds_used = + std::chrono::duration_cast<std::chrono::nanoseconds>(time_used).count(); + double mbytes_per_second = (953.67 * (buf.size() * reps)) / nanoseconds_used; |