NBench 0.2.0

NBench is a cross-platform automated performance profiling and testing framework for.NET applications.

There is a newer version of this package available.
See the version list below for details.
Install-Package NBench -Version 0.2.0
dotnet add package NBench --version 0.2.0
<PackageReference Include="NBench" Version="0.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NBench --version 0.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

Major changes in NBench v0.2, beginning with our new logo: ![NBench logo](https://github.com/petabridge/NBench/blob/dev/images/NBench_logo_square_140.png)
First, we've added an [extensible plugin API for capturing third-party metrics not natively provided by NBench](https://github.com/petabridge/NBench/pull/86). We will be providing more detailed documentation for this in a later release.
NBench.PerformanceCounters**
The first example of this can be found in NBench.PerformanceCounters, a brand new NuGet package that allows you to instrument any arbitrary Windows `PerformanceCounter` on any of your tests.
PS> Install-Package NBench.PerformanceCounters
This package introduces the three following attributes you can use on your benchmarks and performance tests:
`PerformanceCounterMeasurementAttribute` - measures any available performance counter.
`PerformanceCounterThroughputAssertion` - asserts a performance counter's *per-second* value.
`PerformanceCounterTotalAssertion` - asserts a performance counter's *total* value.
TimingMeasurement and ElapsedTimeAssertion**
Somewhat related to traditional `CounterMeasurement`s, we've added two new attributes which allow you to measure and assert against the total amount of elapsed time it took to run a particular block of code.
`TimingMeasurementAttribute` - reports on the elapsed time a single run of a benchmark took in milliseconds. Designed to work with `RunMode.Iterations` benchmarks.
`ElapsedTimeAssertionAttribute` - performs a bounds-checking assertion on amount of time it took to run a particular benchmark. Designed to work with `RunMode.Iterations` benchmarks.
These are now available as part of the core NBench package.
Additional NBench.Runner Options**
NBench.Runner now supports a new flag argument, `concurrent=true|false`
```
NBench.Runner.exe [assembly names] [output-directory={dir-path}] [configuration={file-path}] [include=MyTest*.Perf*,Other*Spec] [exclude=*Long*] [concurrent={true|false}]
```
concurrent=true|false** - disables thread priority and processor affinity operations for all benchmarks. Used only when running multi-threaded benchmarks. Set to `false` (single-threaded) by default.

Dependencies

This package has no dependencies.

Showing the top 5 GitHub repositories that depend on NBench:

Repository Stars
akkadotnet/akka.net
Port of Akka actors for .NET
Azure/DotNetty
DotNetty project – a port of netty, event-driven asynchronous network application framework
RicoSuter/NJsonSchema
JSON Schema reader, generator and validator for .NET
helios-io/helios
reactive socket middleware for .NET
SonarSource/sonar-dotnet
Code analyzer for C# and VB.NET projects https://redirect.sonarsource.com/plugins/vbnet.html

Version History

Version Downloads Last updated
1.2.2 23,864 7/24/2018
1.2.1 819 7/11/2018
1.2.0 322 7/10/2018
1.1.0 1,312 7/2/2018
1.0.4 58,470 6/16/2017
1.0.3 537 6/11/2017
1.0.2 501 6/2/2017
1.0.1 14,777 3/31/2017
1.0.0 3,112 3/15/2017
0.3.4 24,155 12/16/2016
0.3.3 697 12/8/2016
0.3.2 427 12/8/2016
0.3.1 9,853 8/16/2016
0.3.0 6,349 5/24/2016
0.2.2 1,567 5/3/2016
0.2.1 1,624 4/7/2016
0.2.0 392 4/6/2016
0.1.6 896 2/15/2016
0.1.5 5,255 12/10/2015
0.1.4 429 12/10/2015
0.1.3 447 12/8/2015
0.1.2 404 12/8/2015
0.1.1 412 12/7/2015
0.1.0 427 12/4/2015
0.0.2 438 12/4/2015
Show less