Welcome to the BenchmarkDotNet documentation
BenchmarkDotNet is a powerful .NET library for benchmarking.
Source-code is available at: Github
Pre-built packages are available at: NuGet
Status
Summary
- Standard benchmarking routine: generating an isolated project per each benchmark method; auto-selection of iteration amount; warmup; overhead evaluation; statistics calculation; and so on.
- Easy way to compare different environments (
x86
vsx64
,LegacyJit
vsRyuJit
, and so on; see: Jobs) - Reports: markdown (default, github, stackoverflow), csv, html, plain text; png plots.
- Advanced features: Baseline, Setup, Params, Percentiles
- Powerful diagnostics based on ETW events (see BenchmarkDotNet.Diagnostics.Windows)
- Supported runtimes: Full .NET Framework, .NET Core (RTM), Mono
- Supported languages: C#, F# (also on .NET Core) and Visual Basic