Table of Contents

Namespace BenchmarkDotNet.Attributes

Classes

AllCategoriesFilterAttribute
AllStatisticsColumnAttribute
AnyCategoriesFilterAttribute
ArgumentsAttribute
ArgumentsSourceAttribute
ArtifactsPathAttribute
AsciiDocExporterAttribute
BaselineColumnAttribute
BenchmarkAttribute
BenchmarkCategoryAttribute
CategoriesColumnAttribute
CategoryDiscovererAttribute
ClrJobAttribute
ColumnConfigBaseAttribute
ConfidenceIntervalErrorColumnAttribute
ConfigAttribute
CoreJobAttribute
CsvExporterAttribute
CsvMeasurementsExporterAttribute
DisassemblyDiagnoserAttribute
DryClrJobAttribute
DryCoreJobAttribute
DryJobAttribute
DryMonoJobAttribute
EncodingAttribute
EncodingAttribute.ASCII
EncodingAttribute.Unicode
EvaluateOverheadAttribute

Specifies if the overhead should be evaluated (Idle runs) and it's average value subtracted from every result. True by default, very important for nano-benchmarks.

EventPipeProfilerAttribute
ExceptionDiagnoserAttribute
ExecutionValidatorAttribute
ExporterConfigBaseAttribute
FilterConfigBaseAttribute
GcConcurrentAttribute

Specifies whether the common language runtime runs garbage collection on a separate thread. false: Does not run garbage collection concurrently. true: Runs garbage collection concurrently. This is the default.

GcForceAttribute

Specifies whether the BenchmarkDotNet's benchmark runner forces full garbage collection after each benchmark invocation false: Does not force garbage collection. true: Forces full garbage collection after each benchmark invocation. This is the default.

GcServerAttribute

Specifies whether the common language runtime runs server garbage collection. false: Does not run server garbage collection. This is the default. true: Runs server garbage collection.

GenericTypeArgumentsAttribute
GlobalCleanupAttribute

Marks method to be executed after all benchmark iterations. It's going to be executed only once, after all benchmark runs.

GlobalSetupAttribute

Marks method to be executed before all benchmark iterations. It's going to be executed only once, just before warm up.

GroupBenchmarksByAttribute
HardwareCountersAttribute
HideColumnsAttribute
HtmlExporterAttribute
InProcessAttribute
InnerIterationCountAttribute

Invocation count in a single iteration. Does exactly the same as InvocationCountAttribute, added to make porting from xunit-performance to BenchmarkDotNet easier

InvocationCountAttribute

Invocation count in a single iteration. If specified, IterationTime will be ignored. If specified, it must be a multiple of UnrollFactor.

IterationCleanupAttribute

Marks method to be executed after each benchmark iteration. This should NOT be used for microbenchmarks - please see the docs.

IterationCountAttribute

How many target iterations should be performed If specified, MinIterationCount will be ignored. If specified, MaxIterationCount will be ignored.

IterationSetupAttribute

Marks method to be executed before each benchmark iteration. This should NOT be used for microbenchmarks - please see the docs.

IterationTimeAttribute

Desired time of execution of an iteration. Used by Pilot stage to estimate the number of invocations per iteration. The default value is 500 milliseconds.

IterationsColumnAttribute
JobConfigBaseAttribute
JobMutatorConfigBaseAttribute
JsonExporterAttribute
JsonExporterAttribute.BriefAttribute
JsonExporterAttribute.BriefCompressed
JsonExporterAttribute.Full
JsonExporterAttribute.FullCompressed
KeepBenchmarkFilesAttribute

determines if all auto-generated files should be kept or removed after running the benchmarks

KurtosisColumnAttribute
LegacyJitX64JobAttribute
LegacyJitX86JobAttribute
LogicalGroupColumnAttribute
LongRunJobAttribute
MValueColumnAttribute

Prints mvalue. See http://www.brendangregg.com/FrequencyTrails/modes.html

MarkdownExporterAttribute
MarkdownExporterAttribute.Atlassian
MarkdownExporterAttribute.Default
MarkdownExporterAttribute.GitHub
MarkdownExporterAttribute.StackOverflow
MaxAbsoluteErrorAttribute

Maximum acceptable error for a benchmark (by default, BenchmarkDotNet continue iterations until the actual error is less than the specified error). Doesn't have a default value. If MaxRelativeError is also provided, the smallest value is used as stop criteria.

MaxColumnAttribute
MaxIterationCountAttribute

Maximum count of target iterations that should be performed The default value is 100 If you set this value to below 15, then MultimodalDistributionAnalyzer is not going to work

MaxRelativeErrorAttribute

Maximum acceptable error for a benchmark (by default, BenchmarkDotNet continue iterations until the actual error is less than the specified error). The default value is 0.02. If MaxAbsoluteError is also provided, the smallest value is used as stop criteria.

MaxWarmupCountAttribute

Maximum count of warmup iterations that should be performed The default value is 50

MeanColumnAttribute
MedianColumnAttribute
MediumRunJobAttribute
MemoryDiagnoserAttribute
MemoryRandomizationAttribute

specifies whether Engine should allocate some random-sized memory between iterations it makes [GlobalCleanup] and [GlobalSetup] methods to be executed after every iteration

MinColumnAttribute
MinInvokeCountAttribute

Minimum count of benchmark invocations per iteration. The default value is 4.

MinIterationCountAttribute

Minimum count of target iterations that should be performed. The default value is 15. If you set this value to below 15, then MultimodalDistributionAnalyzer is not going to work.

MinIterationTimeAttribute

Minimum time of a single iteration. Unlike Run.IterationTime, this characteristic specifies only the lower limit. In case of need, BenchmarkDotNet can increase this value. The default value is 500 milliseconds.

MinWarmupCountAttribute

Minimum count of warmup iterations that should be performed The default value is 6

MonoJobAttribute
NamespaceColumnAttribute

Add a column with the target method namespace.

OperatingSystemsArchitectureFilterAttribute
OperatingSystemsFilterAttribute
OperationsPerSecondAttribute
OrdererAttribute
OutliersAttribute

Specifies which outliers should be removed from the distribution

ParamsAllValuesAttribute
ParamsAttribute
ParamsSourceAttribute
PerfCollectProfilerAttribute
PlainExporterAttribute
PriorityAttribute
ProcessCountAttribute

How many times we should launch process with target benchmark.

Q1ColumnAttribute
Q3ColumnAttribute
RPlotExporterAttribute
RankColumnAttribute
ReturnValueValidatorAttribute
RunOncePerIterationAttribute

Run the benchmark exactly once per iteration.

RyuJitX64JobAttribute
RyuJitX86JobAttribute
ShortRunJobAttribute
SimpleJobAttribute
SkewnessColumnAttribute
StatisticalTestColumnAttribute
StdDevColumnAttribute
StdErrorColumnAttribute
StopOnFirstErrorAttribute

determines if running should be stop after first error

TargetedAttribute

Base class for attributes that are targeted at one or more method(s)

ThreadingDiagnoserAttribute
UnicodeConsoleLoggerAttribute

Enable unicode support in console logger

ValidatorConfigBaseAttribute
VeryLongRunJobAttribute
WarmupCountAttribute

How many warmup iterations should be performed.

WelchTTestPValueColumnAttribute
XmlExporterAttribute
XmlExporterAttribute.Brief
XmlExporterAttribute.BriefCompressed
XmlExporterAttribute.Full
XmlExporterAttribute.FullCompressed

Enums

OS