Table of Contents

Class BenchmarkProgram

Namespace
Codebelt.Extensions.BenchmarkDotNet.Console
Assembly
Codebelt.Extensions.BenchmarkDotNet.Console.dll

Entry point helper for hosting and running benchmarks using BenchmarkDotNet.

public class BenchmarkProgram : MinimalConsoleProgram<BenchmarkProgram>
Inheritance
BenchmarkProgram
Inherited Members

Properties

BuildConfiguration

Gets the build configuration of the entry assembly.

public static string BuildConfiguration { get; }

Property Value

string

The value is either Debug or Release.

IsDebugBuild

Gets a value indicating whether the entry assembly was built in Debug configuration.

public static bool IsDebugBuild { get; }

Property Value

bool

true if the entry assembly was compiled with debugging information; otherwise, false.

Methods

Run(string[], Action<BenchmarkWorkspaceOptions>)

Runs benchmarks using the default BenchmarkWorkspace implementation.

public static void Run(string[] args, Action<BenchmarkWorkspaceOptions> setup = null)

Parameters

args string[]

The command-line arguments passed to the application.

setup Action<BenchmarkWorkspaceOptions>

The BenchmarkWorkspaceOptions which may be configured.

Remarks

This method configures the host builder with the necessary services, builds the host, and runs it to execute benchmarks.

Run(string[], Action<IServiceCollection>, Action<BenchmarkWorkspaceOptions>)

Runs benchmarks using the default BenchmarkWorkspace implementation.

public static void Run(string[] args, Action<IServiceCollection> serviceConfigurator = null, Action<BenchmarkWorkspaceOptions> setup = null)

Parameters

args string[]

The command-line arguments passed to the application.

serviceConfigurator Action<IServiceCollection>

The delegate that will be invoked to configure additional services in the IServiceCollection.

setup Action<BenchmarkWorkspaceOptions>

The BenchmarkWorkspaceOptions which may be configured.

Remarks

This method configures the host builder with the necessary services, builds the host, and runs it to execute benchmarks.

RunAsync(IServiceProvider, CancellationToken)

Runs the actual benchmarks as envisioned by BenchmarkDotNet.

public override Task RunAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken)

Parameters

serviceProvider IServiceProvider

The service provider.

cancellationToken CancellationToken

The cancellation token.

Returns

Task

A completed task when benchmark execution has finished.

Remarks

When arguments are provided, they are forwarded to BenchmarkDotNet.Running.BenchmarkSwitcher for selective execution. After execution completes, artifact post-processing is performed.

Run<TWorkspace>(string[], Action<BenchmarkWorkspaceOptions>)

Runs benchmarks using a custom implementation of IBenchmarkWorkspace.

public static void Run<TWorkspace>(string[] args, Action<BenchmarkWorkspaceOptions> setup = null) where TWorkspace : class, IBenchmarkWorkspace

Parameters

args string[]

The command-line arguments passed to the application.

setup Action<BenchmarkWorkspaceOptions>

The BenchmarkWorkspaceOptions which may be configured.

Type Parameters

TWorkspace

The type of the workspace that implements IBenchmarkWorkspace.

Remarks

This method configures the host builder with the necessary services, builds the host, and runs it to execute benchmarks.

Run<TWorkspace>(string[], Action<IServiceCollection>, Action<BenchmarkWorkspaceOptions>)

Runs benchmarks using a custom implementation of IBenchmarkWorkspace.

public static void Run<TWorkspace>(string[] args, Action<IServiceCollection> serviceConfigurator = null, Action<BenchmarkWorkspaceOptions> setup = null) where TWorkspace : class, IBenchmarkWorkspace

Parameters

args string[]

The command-line arguments passed to the application.

serviceConfigurator Action<IServiceCollection>

The delegate that will be invoked to configure additional services in the IServiceCollection.

setup Action<BenchmarkWorkspaceOptions>

The BenchmarkWorkspaceOptions which may be configured.

Type Parameters

TWorkspace

The type of the workspace that implements IBenchmarkWorkspace.

Remarks

This method configures the host builder with the necessary services, builds the host, and runs it to execute benchmarks.

See Also