Show / Hide Table of Contents

    Class 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.

    Inheritance
    System.Object
    Benchmark
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: NBench.Sdk
    Assembly: NBench.dll
    Syntax
    public class Benchmark

    Constructors

    Benchmark(BenchmarkSettings, IBenchmarkInvoker, IBenchmarkOutput)

    Backwards-compatible constructor for NBench 0.1.6 and earlier.

    Declaration
    public Benchmark(BenchmarkSettings settings, IBenchmarkInvoker invoker, IBenchmarkOutput writer)
    Parameters
    Type Name Description
    BenchmarkSettings settings

    The settings for this benchmark.

    IBenchmarkInvoker invoker

    The invoker used to execute benchmark and setup / cleanup methods.

    IBenchmarkOutput writer

    The output target this benchmark will write to.

    Remarks

    Uses the DefaultBenchmarkAssertionRunner to assert benchmark data.

    Benchmark(BenchmarkSettings, IBenchmarkInvoker, IBenchmarkOutput, IBenchmarkAssertionRunner)

    Backwards-compatible constructor for NBench 0.1.6 and earlier.

    Declaration
    public Benchmark(BenchmarkSettings settings, IBenchmarkInvoker invoker, IBenchmarkOutput writer, IBenchmarkAssertionRunner benchmarkAssertions)
    Parameters
    Type Name Description
    BenchmarkSettings settings

    The settings for this benchmark.

    IBenchmarkInvoker invoker

    The invoker used to execute benchmark and setup / cleanup methods.

    IBenchmarkOutput writer

    The output target this benchmark will write to.

    IBenchmarkAssertionRunner benchmarkAssertions

    The assertion engine we'll use to perform BenchmarkAssertions against benchmarks.

    Fields

    Builder

    Declaration
    protected readonly BenchmarkBuilder Builder
    Field Value
    Type Description
    BenchmarkBuilder

    StopWatch

    Stopwatch used by the Benchmark. Exposed only for testing purposes.

    Declaration
    public readonly Stopwatch StopWatch
    Field Value
    Type Description
    System.Diagnostics.Stopwatch

    WarmupData

    Declaration
    protected WarmupData WarmupData
    Field Value
    Type Description
    WarmupData

    Properties

    AllAssertsPassed

    Returns true if Finish() was called and all BenchmarkAssertions passed, or if it was never called.

    Declaration
    public bool AllAssertsPassed { get; }
    Property Value
    Type Description
    System.Boolean

    BenchmarkAssertionRunner

    Declaration
    protected IBenchmarkAssertionRunner BenchmarkAssertionRunner { get; }
    Property Value
    Type Description
    IBenchmarkAssertionRunner

    BenchmarkName

    The name of this benchmark

    Declaration
    public string BenchmarkName { get; }
    Property Value
    Type Description
    System.String

    CompletedRuns

    Declaration
    public Queue<BenchmarkRunReport> CompletedRuns { get; }
    Property Value
    Type Description
    System.Collections.Generic.Queue<BenchmarkRunReport>

    Invoker

    Declaration
    protected IBenchmarkInvoker Invoker { get; }
    Property Value
    Type Description
    IBenchmarkInvoker

    Output

    Declaration
    protected IBenchmarkOutput Output { get; }
    Property Value
    Type Description
    IBenchmarkOutput

    RunMode

    Declaration
    public RunMode RunMode { get; }
    Property Value
    Type Description
    RunMode

    Settings

    Declaration
    public BenchmarkSettings Settings { get; }
    Property Value
    Type Description
    BenchmarkSettings

    ShutdownCalled

    Declaration
    public bool ShutdownCalled { get; }
    Property Value
    Type Description
    System.Boolean

    Trace

    Declaration
    protected IBenchmarkTrace Trace { get; }
    Property Value
    Type Description
    IBenchmarkTrace

    Methods

    AssertResults(BenchmarkResults)

    Declaration
    public BenchmarkFinalResults AssertResults(BenchmarkResults result)
    Parameters
    Type Name Description
    BenchmarkResults result
    Returns
    Type Description
    BenchmarkFinalResults

    CompileResults()

    Compiles all of the completed BenchmarkRuns into reports

    Declaration
    public BenchmarkResults CompileResults()
    Returns
    Type Description
    BenchmarkResults

    The full set of aggregate results

    Finish()

    Complete the benchmark

    Declaration
    public void Finish()

    PostRun()

    NOTE: We don't reset the System.Diagnostics.Stopwatch on purpose here, so we can collect the value of it and use it for auto-tuning and reporting. It'll be started at the beginning of the next run.

    Declaration
    protected void PostRun()

    PrepareForRun()

    Performs any final GC needed before we start a test run

    Declaration
    public static void PrepareForRun()

    PreRun()

    Declaration
    protected void PreRun()

    Run()

    Declaration
    public void Run()

    RunBenchmark()

    Declaration
    protected void RunBenchmark()

    Shutdown()

    Declaration
    public void Shutdown()
    Back to top Copyright © 2015-2020 Petabridge™, LLC