EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BenchmarkTools.hpp File Reference
#include "Acts/Utilities/TypeTraits.hpp"
#include <algorithm>
#include <cassert>
#include <chrono>
#include <cmath>
#include <iomanip>
#include <numeric>
#include <ostream>
#include <type_traits>
#include <utility>
#include <vector>
+ Include dependency graph for BenchmarkTools.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Acts::Test::MicroBenchmarkResult
 
struct  Acts::Test::benchmark_tools_internal::MicroBenchmarkIterImpl< Callable, Input, Result >
 
struct  Acts::Test::benchmark_tools_internal::MicroBenchmarkIterImpl< Callable, Input, void >
 
struct  Acts::Test::benchmark_tools_internal::MicroBenchmarkIterImpl< Callable, void, Result >
 
struct  Acts::Test::benchmark_tools_internal::MicroBenchmarkIterImpl< Callable, void, void >
 
struct  Acts::Test::benchmark_tools_internal::MicroBenchmarkIter< Callable, Input >
 
struct  Acts::Test::benchmark_tools_internal::MicroBenchmarkIter< Callable, void >
 

Namespaces

namespace  Acts
 Set the Geometry Context PLUGIN.
 
namespace  Acts::Test
 Namespace for ATS unit tests.
 
namespace  Acts::Test::benchmark_tools_internal
 

Typedefs

template<typename T , typename I >
using Acts::Test::benchmark_tools_internal::call_with_input_t = decltype(std::declval< T >()(std::declval< I >()))
 
template<typename T >
using Acts::Test::benchmark_tools_internal::call_without_input_t = decltype(std::declval< T >()())
 

Functions

template<typename T >
void Acts::Test::assumeAccessed (T &&clobber)
 
template<typename T >
void Acts::Test::assumeRead (const T &clobber)
 
template<typename T >
void Acts::Test::assumeWritten (T &clobber)
 
template<typename Callable >
MicroBenchmarkResult Acts::Test::benchmark_tools_internal::microBenchmarkImpl (Callable &&run, size_t iters_per_run, size_t num_runs, std::chrono::milliseconds warmup_time)
 
template<typename Callable >
MicroBenchmarkResult Acts::Test::microBenchmark (Callable &&iteration, size_t iters_per_run, size_t num_runs=20000, std::chrono::milliseconds warmup_time=std::chrono::milliseconds(2000))
 
template<typename Callable , typename Input >
MicroBenchmarkResult Acts::Test::microBenchmark (Callable &&iterationWithInput, const std::vector< Input > &inputs, size_t num_runs=20000, std::chrono::milliseconds warmup_time=std::chrono::milliseconds(2000))