HEBench
|
Interface for benchmarks. More...
#include <hebench_ibenchmark.h>
Classes | |
struct | RunConfig |
Provides configuration to and retrieves data from a benchmark run. More... | |
Public Types | |
typedef std::shared_ptr< IBenchmark > | Ptr |
Public Member Functions | |
virtual | ~IBenchmark ()=default |
virtual bool | run (hebench::Utilities::TimingReportEx &out_report, RunConfig &config)=0 |
Executes the benchmark operations. More... | |
virtual std::weak_ptr< Engine > | getEngine () const =0 |
virtual const hebench::APIBridge::Handle & | handle () const =0 |
Protected Member Functions | |
IBenchmark ()=default | |
Interface for benchmarks.
To implement this interface and create workloads, it is easier to extend directly from the workload category benchmark classes BenchmarkLatency, BenchmarkOffline, etc. If more control or specific processing other than the generic category execution is needed, extending from PartialBenchmark offers more flexibility.
Definition at line 439 of file hebench_ibenchmark.h.
struct hebench::TestHarness::IBenchmark::RunConfig |
Provides configuration to and retrieves data from a benchmark run.
Definition at line 452 of file hebench_ibenchmark.h.
typedef std::shared_ptr<IBenchmark> hebench::TestHarness::IBenchmark::Ptr |
Definition at line 448 of file hebench_ibenchmark.h.
|
virtualdefault |
|
protecteddefault |
|
pure virtual |
Implemented in hebench::TestHarness::PartialBenchmark.
|
pure virtual |
Implemented in hebench::TestHarness::PartialBenchmark.
|
pure virtual |
Executes the benchmark operations.
out_report | Object where to append the report of the operation. |
config | Specifies configuration parameters for the run. |
Convention:
true
), or validation failed (false
).Implemented in hebench::TestHarness::BenchmarkOffline, and hebench::TestHarness::BenchmarkLatency.