diff options
author | lloyd <[email protected]> | 2009-12-01 12:00:48 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2009-12-01 12:00:48 +0000 |
commit | 874dbb8323dd4d7eff3ff16cff0cfafc16ddbfa7 (patch) | |
tree | bc3a84c43c5924119972f24da3af89317694f0cb /checks | |
parent | 78f5726220b637cd8ae117bbcf8ff8d6c8dfeaed (diff) |
Consolidate the non-canonical epoch timers, like cpuid and Win32's
QueryPerformanceCounter, into an entropy source hres_timer. Its
results, if any, do not count as contributing entropy to the poll.
Convert the other (monotonic/fixed epoch) timers to a single function
get_nanoseconds_clock(), living in time.h, which statically chooses
the 'best' timer type (clock_gettime, gettimeofday, std::clock, in
that order depending on what is available). Add feature test macros
for clock_gettime and gettimeofday.
Remove the Timer class and timer.h. Remove the Timer& argument to the
algorithm benchmark function.
Diffstat (limited to 'checks')
-rw-r--r-- | checks/bench.cpp | 8 | ||||
-rw-r--r-- | checks/cvc_tests.cpp | 2 | ||||
-rw-r--r-- | checks/timer.cpp | 5 |
3 files changed, 7 insertions, 8 deletions
diff --git a/checks/bench.cpp b/checks/bench.cpp index f821e04e3..631bf8476 100644 --- a/checks/bench.cpp +++ b/checks/bench.cpp @@ -9,6 +9,7 @@ #include <botan/engine.h> #include <botan/parsing.h> #include <botan/symkey.h> +#include <botan/time.h> #include "common.h" #include "bench.h" @@ -152,13 +153,12 @@ bool bench_algo(const std::string& algo, Botan::RandomNumberGenerator& rng, double seconds) { - Botan::Default_Benchmark_Timer timer; Botan::Algorithm_Factory& af = Botan::global_state().algorithm_factory(); u32bit milliseconds = static_cast<u32bit>(seconds * 1000); std::map<std::string, double> speeds = - algorithm_benchmark(algo, milliseconds, timer, rng, af); + algorithm_benchmark(algo, milliseconds, rng, af); if(speeds.empty()) // maybe a cipher mode, then? { @@ -198,7 +198,7 @@ bool bench_algo(const std::string& algo, Botan::Pipe pipe(filt, new Botan::BitBucket); pipe.start_msg(); - const u64bit start = timer.clock(); + const u64bit start = Botan::get_nanoseconds_clock(); u64bit nanoseconds_used = 0; u64bit reps = 0; @@ -206,7 +206,7 @@ bool bench_algo(const std::string& algo, { pipe.write(&buf[0], buf.size()); ++reps; - nanoseconds_used = timer.clock() - start; + nanoseconds_used = Botan::get_nanoseconds_clock() - start; } double mbytes_per_second = diff --git a/checks/cvc_tests.cpp b/checks/cvc_tests.cpp index d62099b6e..8ca00e048 100644 --- a/checks/cvc_tests.cpp +++ b/checks/cvc_tests.cpp @@ -27,8 +27,8 @@ #include <botan/look_pk.h> #include <botan/cvc_self.h> #include <botan/cvc_cert.h> -#include <botan/timer.h> #include <botan/cvc_ado.h> +#include <botan/time.h> #define TEST_DATA_DIR "checks/ecc_testdata" diff --git a/checks/timer.cpp b/checks/timer.cpp index 8460257d4..1bdaebb7f 100644 --- a/checks/timer.cpp +++ b/checks/timer.cpp @@ -1,5 +1,5 @@ #include "timer.h" -#include <botan/benchmark.h> +#include <botan/time.h> #include <iomanip> Timer::Timer(const std::string& n, u32bit e_mul) : @@ -32,8 +32,7 @@ void Timer::stop() u64bit Timer::get_clock() { - Botan::Default_Benchmark_Timer timer; - return timer.clock(); + return Botan::get_nanoseconds_clock(); } std::ostream& operator<<(std::ostream& out, Timer& timer) |