aboutsummaryrefslogtreecommitdiffstats
path: root/checks
diff options
context:
space:
mode:
authorlloyd <[email protected]>2009-12-01 12:00:48 +0000
committerlloyd <[email protected]>2009-12-01 12:00:48 +0000
commit874dbb8323dd4d7eff3ff16cff0cfafc16ddbfa7 (patch)
treebc3a84c43c5924119972f24da3af89317694f0cb /checks
parent78f5726220b637cd8ae117bbcf8ff8d6c8dfeaed (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.cpp8
-rw-r--r--checks/cvc_tests.cpp2
-rw-r--r--checks/timer.cpp5
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)