ZeroErr
|
#include "zeroerr/internal/config.h"
#include <chrono>
#include <cstdint>
#include <string>
#include <vector>
Go to the source code of this file.
Classes | |
struct | zeroerr::PerfCountSet< T > |
PerfCountSet is a set of performance counters. More... | |
struct | zeroerr::PerformanceCounter |
PerformanceCounter is a class to measure the performance of a function. More... | |
struct | zeroerr::BenchResult |
BenchResult is a result of running the benchmark. More... | |
struct | zeroerr::Benchmark |
Benchmark create a core object for configuration of a benchmark. This class is a driver to run multiple times of a benchmark. Each time of a run will generate a row of data. Report will print the data in console. More... | |
Namespaces | |
zeroerr | |
zeroerr::detail | |
Macros | |
#define | ZEROERR_CREATE_BENCHMARK_FUNC(function, name) |
#define | BENCHMARK(name) ZEROERR_CREATE_BENCHMARK_FUNC(ZEROERR_NAMEGEN(_zeroerr_benchmark), name) |
Typedefs | |
using | zeroerr::Clock = std::conditional< std::chrono::high_resolution_clock::is_steady, std::chrono::high_resolution_clock, std::chrono::steady_clock >::type |
Functions | |
BenchState * | zeroerr::createBenchState (Benchmark &benchmark) |
void | zeroerr::destroyBenchState (BenchState *state) |
size_t | zeroerr::getNumIter (BenchState *state) |
void | zeroerr::runIteration (BenchState *state) |
void | zeroerr::moveResult (BenchState *state, std::string name) |
template<typename T > | |
void | zeroerr::detail::doNotOptimizeAway (T const &val) |
template<typename T > | |
void | zeroerr::detail::doNotOptimizeAway (T &val) |
template<typename Arg > | |
void | zeroerr::doNotOptimizeAway (Arg &&arg) |
Makes sure none of the given arguments are optimized away by the compiler. More... | |
#define BENCHMARK | ( | name | ) | ZEROERR_CREATE_BENCHMARK_FUNC(ZEROERR_NAMEGEN(_zeroerr_benchmark), name) |
#define ZEROERR_CREATE_BENCHMARK_FUNC | ( | function, | |
name | |||
) |