![]() |
VOOZH | about |
dotnet add package Codebelt.Extensions.BenchmarkDotNet --version 1.3.0
NuGet\Install-Package Codebelt.Extensions.BenchmarkDotNet -Version 1.3.0
<PackageReference Include="Codebelt.Extensions.BenchmarkDotNet" Version="1.3.0" />
<PackageVersion Include="Codebelt.Extensions.BenchmarkDotNet" Version="1.3.0" />Directory.Packages.props
<PackageReference Include="Codebelt.Extensions.BenchmarkDotNet" />Project file
paket add Codebelt.Extensions.BenchmarkDotNet --version 1.3.0
#r "nuget: Codebelt.Extensions.BenchmarkDotNet, 1.3.0"
#:package Codebelt.Extensions.BenchmarkDotNet@1.3.0
#addin nuget:?package=Codebelt.Extensions.BenchmarkDotNet&version=1.3.0Install as a Cake Addin
#tool nuget:?package=Codebelt.Extensions.BenchmarkDotNet&version=1.3.0Install as a Cake Tool
A unified, opinionated foundation for building robust BenchmarkDotNet workflows in .NET.
Codebelt.Extensions.BenchmarkDotNet is part of a modern, MIT-licensed ecosystem designed to bring clarity, structure, and consistency to BenchmarkDotNet projects.
If you value predictable conventions, clean separation of responsibilities, and benchmarks that scale gracefully across .NET 9 and .NET 10, this library is your agile companion.
It removes unnecessary ceremony while embracing best practices from other consumers of BenchmarkDotNet, so you can focus on performance insights, not plumbing.
At its heart, the package is free, flexible, and crafted to extend and empower your agile codebelt.
The folder structure promoted by Codebelt.Extensions.BenchmarkDotNet follows the same architectural principles commonly used for test projectsβwhile remaining purpose-built for benchmarking.
At the solution level, benchmarks are treated as a first-class concern, clearly separated from tooling and output artifacts.
*.Benchmarks), in the same way that a test folder typically contains *.Tests projects,This separation enforces a clean boundary between benchmark definition, execution, and output, making benchmark suites easier to scale, automate, and reason about.
Repository Root
β
ββ reports
β ββ tuning
β ββ github
β ββ MyLibrary.ExampleBenchmarks-report-github.md
β
ββ src
β ββ MyLibrary
β
ββ test
β ββ MyLibrary.Tests
β ββ ExampleTest.cs
β
ββ tooling
β ββ benchmark-runner
β ββ Program.cs
β
ββ tuning
ββ MyLibrary.Benchmarks
ββ ExampleBenchmark.cs
Benchmarks are executed using a Generic Hostβbased bootstrap model, allowing BenchmarkDotNet to participate in a fully managed application lifecycle with dependency injection, configuration, and logging.
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
var hostBuilder = Host.CreateDefaultBuilder(args);
hostBuilder.ConfigureServices(services =>
{
services.AddSingleton(new BenchmarkContext(args));
services.AddBenchmarkWorkspace(setup);
});
var host = hostBuilder.Build();
host.Run();
The folder structure is based o
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 1 NuGet packages that depend on Codebelt.Extensions.BenchmarkDotNet:
| Package | Downloads |
|---|---|
|
Codebelt.Extensions.BenchmarkDotNet.Console
The Codebelt.Extensions.BenchmarkDotNet.Console namespace contains types that provide a structured and opinionated console-hosted execution model for BenchmarkDotNet. |
This package is not used by any popular GitHub repositories.
Version: 1.3.0
Availability: .NET 10 and .NET 9
# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
Version: 1.2.7
Availability: .NET 10 and .NET 9
# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
Version: 1.2.6
Availability: .NET 10 and .NET 9
# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
Version: 1.2.5
Availability: .NET 10 and .NET 9
# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
Version: 1.2.4
Availability: .NET 10 and .NET 9
# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
Version: 1.2.3
Availability: .NET 10 and .NET 9
# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
Version: 1.2.2
Availability: .NET 10 and .NET 9
# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
Version: 1.2.1
Availability: .NET 10 and .NET 9
# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
Version: 1.2.0
Availability: .NET 10 and .NET 9
# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
Version: 1.1.0
Availability: .NET 10 and .NET 9
# ALM
- CHANGED Dependencies have been upgraded to the latest compatible versions for all supported target frameworks (TFMs)
# Bug Fixes
- FIXED BenchmarkWorkspaceOptions class in the Codebelt.Extensions.BenchmarkDotNet namespace so it no longer relies on Danish culture
# Improvements
- EXTENDED BenchmarkWorkspace class in the Codebelt.Extensions.BenchmarkDotNet namespace with two new static methods; GetReportsResultsPath and GetReportsTuningPath for retrieving the paths to the reports results and tuning directories respectively
- EXTENDED BenchmarkWorkspaceOptions class in the Codebelt.Extensions.BenchmarkDotNet namespace to include one new property; SkipBenchmarksWithReports that indicates whether benchmarks that already have generated reports should be skipped during execution
Version: 1.0.0
Availability: .NET 10 and .NET 9
# New Features
- ADDED BenchmarkWorkspace class in the Codebelt.Extensions.BenchmarkDotNet namespace that provides a default implementation of IBenchmarkWorkspace for discovering and handling assemblies and their generated artifacts in BenchmarkDotNet
- ADDED BenchmarkWorkspaceOptions class in the Codebelt.Extensions.BenchmarkDotNet namespace that specifies configuration options that is related to the BenchmarkWorkspace class
- ADDED BenchmarkWorkspaceOptionsExtensions class in the Codebelt.Extensions.BenchmarkDotNet namespace that consist of extension methods for the BenchmarkWorkspaceOptions class: ConfigureBenchmarkDotNet
- ADDED IBenchmarkWorkspace interface in the Codebelt.Extensions.BenchmarkDotNet namespace that defines a way for discovering and handling assemblies and their generated artifacts in BenchmarkDotNet
- ADDED ServiceCollectionExtensions class in the Codebelt.Extensions.BenchmarkDotNet namespace that consist of extension methods for the IServiceCollection interface: AddBenchmarkWorkspace and AddBenchmarkWorkspace{TWorkspace}