aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/benchmark/benchmark.cpp7
-rw-r--r--src/benchmark/benchmark.h28
2 files changed, 28 insertions, 7 deletions
diff --git a/src/benchmark/benchmark.cpp b/src/benchmark/benchmark.cpp
index 887c64e70..fc4a8ba37 100644
--- a/src/benchmark/benchmark.cpp
+++ b/src/benchmark/benchmark.cpp
@@ -120,9 +120,10 @@ bench_mac(MessageAuthenticationCode* mac,
std::map<std::string, double>
algorithm_benchmark(const std::string& name,
- u32bit milliseconds,
+ Algorithm_Factory& af,
RandomNumberGenerator& rng,
- Algorithm_Factory& af)
+ u32bit milliseconds,
+ u32bit buf_size)
{
std::vector<std::string> providers = af.providers_of(name);
std::map<std::string, double> all_results;
@@ -133,7 +134,7 @@ algorithm_benchmark(const std::string& name,
const u64bit ns_per_provider =
(static_cast<u64bit>(milliseconds) * 1000 * 1000) / providers.size();
- std::vector<byte> buf(16 * 1024);
+ std::vector<byte> buf(buf_size * 1024);
rng.randomize(&buf[0], buf.size());
for(u32bit i = 0; i != providers.size(); ++i)
diff --git a/src/benchmark/benchmark.h b/src/benchmark/benchmark.h
index 4f1d91b79..304fae2fc 100644
--- a/src/benchmark/benchmark.h
+++ b/src/benchmark/benchmark.h
@@ -18,16 +18,36 @@ namespace Botan {
/**
* Algorithm benchmark
* @param name the name of the algorithm to test (cipher, hash, or MAC)
-* @param milliseconds total time for the benchmark to run
-* @param rng the rng to use to generate random inputs
* @param af the algorithm factory used to create objects
+* @param rng the rng to use to generate random inputs
+* @param milliseconds total time for the benchmark to run
+* @param buf_size size of buffer to benchmark against, in KiB
* @return results a map from provider to speed in mebibytes per second
*/
std::map<std::string, double>
BOTAN_DLL algorithm_benchmark(const std::string& name,
- u32bit milliseconds,
+ Algorithm_Factory& af,
RandomNumberGenerator& rng,
- Algorithm_Factory& af);
+ u32bit milliseconds,
+ u32bit buf_size);
+
+/**
+* Algorithm benchmark (1.8 compatability version)
+* @deprecated Use variant taking buf_size defined above
+* @param name the name of the algorithm to test (cipher, hash, or MAC)
+* @param milliseconds total time for the benchmark to run
+* @param rng the rng to use to generate random inputs
+* @param af the algorithm factory used to create objects
+* @return results a map from provider to speed in mebibytes per second
+*/
+std::map<std::string, double>
+inline algorithm_benchmark(const std::string& name,
+ u32bit milliseconds,
+ RandomNumberGenerator& rng,
+ Algorithm_Factory& af)
+ {
+ return algorithm_benchmark(name, af, rng, milliseconds, 16);
+ }
}