testquark.parabench

Parameterize a benchmark

Public Imports

testquark.defines
public import testquark.defines;
Undocumented in source.

Members

Functions

MarkImpl
auto MarkImpl(BenchmarkPrototype[NamedBenchmark] map)
Undocumented in source. Be warned that the author may not have intended to support it.
Parameterizer
auto Parameterizer(NamedBenchmark loc, Range x, FuncType func)

Use these (unless you want to manually specify range types into ParameterizeStruct)

Parameterizer
auto Parameterizer(string name, Range x, FuncType func, size_t iter, string f, int l)

Use these (unless you want to manually specify range types into ParameterizeStruct)

godawfulHack
auto godawfulHack(I x, J y, K z, L fuck)
Undocumented in source. Be warned that the author may not have intended to support it.
runThem
auto runThem(BenchmarkPrototype[NamedBenchmark] theBenchmarks, Flag!"FullData" fullDataView)
Undocumented in source. Be warned that the author may not have intended to support it.

Interfaces

BenchmarkPrototype
interface BenchmarkPrototype

Abstract range interface to a benchmark for some type erasure

Structs

Operation
struct Operation

Split up operation for exposing to afar

ParameterizerStruct
struct ParameterizerStruct(Range, FuncType)

Define a way of providing testing data to a benchmark, i.e. stop the compiler DFAing the magic away. It must be parameterized by a size_t such that it can be measured.

Templates

BenchmarkInfrastructure
template BenchmarkInfrastructure(Flag!"Expose" expose = No.Expose, string M = __MODULE__)

Mix this in to gain the power of benchmarks, if on auto they will run on module destruction

Meta