Namespace NBench.Sdk
Classes
ActionBenchmarkInvoker
A IBenchmarkInvoker implementation that works on anonymous methods and delegates.
Assertion
Executes an assertion against a given metric
Benchmark
Executor class for running a single PerfBenchmarkAttribute Exposes the BenchmarkContext, which allows developers to register custom metrics and counters for the use of their personal benchmarks.
BenchmarkBuilder
Responsible for instrumenting all of the metrics and producing the BenchmarkContext used inside each BenchmarkRun
BenchmarkConstants
Set of constants used for evaluating different types of benchmarks and default behavior
BenchmarkSettings
Settings for how a particular Benchmark should be run and executed.
DefaultBenchmarkAssertionRunner
Responsible for running Assertions over BenchmarkResults.
EmptyAssertion
No-op Assertion
MeasurementConfigurator
Static utility class for IMeasurementConfigurator<T>
MeasurementConfigurator.EmptyConfigurator
Special case type when we can't find a matching configurator
MeasurementConfigurator<T>
Used by ReflectionDiscovery to provide all of the necessary components needed to create usable settings needed to instrument developer-defined MeasurementAttributes.
ReflectionBenchmarkInvoker
IBenchmarkInvoker implementaton that uses reflection to invoke setup / run / cleanup methods found on classes decorated with the appropriate PerfBenchmarkAttributes.
RunnerSettings
NBench settings passed into the TestRunner, usually via end-user commandline.
This class is used to memoize NBench settings and record them in the benchmark output.
TestPackage
A TestPackage contains one or more test files. It also holds settings how the tests should be loaded.
TestRunner
Executor of tests
TestRunnerResult
Results collected by the test runner
Structs
AssertionResult
WarmupData
Used when estimating the size of the next run.
Designed to help buffer NBench from influencing any benchmarks itself.
Interfaces
IBenchmarkAssertionRunner
Responsible for running Assertions over BenchmarkResults.
IBenchmarkInvoker
Used to invoke the benchmark methods on the user-defined objects that have methods marked with PerfBenchmarkAttribute.
IBenchmarkSetting
Interface for all individual benchmark settings
IMeasurementConfigurator
Non-generic implementation of IMeasurementConfigurator.
INTERNAL USE ONLY. Must implement IMeasurementConfigurator<T> for NBench ReflectionDiscovery to pick up your metrics.
IMeasurementConfigurator<T>
Interface used to configure MeasurementAttributes implemented in both built-in NBench libraries and external libraries.
Enums
AssertionType
Different types of BenchmarkAssertions we might use against metrics