NBench Versions Save

Performance benchmarking and testing framework for .NET applications :chart_with_upwards_trend:

2.0.1

4 years ago

v2.0.1 February 25 2020

NBench 2.0.0 is a major departure from NBench 1.2 and preceding versions, and these changes were done in order to support NBench's future as a cutting-edge, cross-platform performance testing and macro benchmarking framework:

  • dotnet nbench and NBench.Runner are both now deprecated - NBench is now run from directly inside a console application created by end-users. This makes it easier to configure, debug, and create benchmarks on new .NET Core platforms without having to wait for additional instrumentation or tooling from NBench itself.
  • NBench no longer supports .NET Framework explicitly; moving forward NBench will only support .NET Standard 2.0 and later (.NET Framework 4.6.1 and greater or .NET Core 2.0 and greater.)
  • We've added a new documentation website for NBench: https://nbench.io/
  • NBench now supports configuration as code through the TestPackage class.

For a full set of changes, please see the NBench 2.0.0 milestone on Github.


2.0.1 Notes:

  • Fixed error with setting thread priority on Linux;
  • Fixed NuGet symbol publication;
  • And more.

For a full set of changes, please see the NBench 2.0.1 milestone on Github.

Changes:

  • e80dc57c70befd4868e38b1be292c4b4d086688c Merge pull request #320 from petabridge/dev
  • 1f7d3657d0831c374836def01e3ecdb2131e264e added 2.0.1 release notes (#319)
  • f5c970d43f3593d4858439452fdab694205007e8 Bump ApprovalTests from 4.5.0 to 4.5.1 (#318)
  • f5e109615eee865dd4dbb882fd1adf97e7eec0a4 close #313 - fix NuGet symbol publishing (#317)
  • 347f0ec60a5f0303960ce4ba40428b5f06720702 added Linux integration specs (#316) [ #312 ]
  • 6808e688564339f7ab7cff6a3a244d6c4b05edbc close #314 - fix flaky integration test (#315)
  • d83b040ea5a28e0ece6a3b0350b7b0d82bba9a28 don't pack NBench.TestAssembly (#309)
  • 7e6fe78155adcef94616e7593c11894a2a29f61e added debugging to flaky test (#311)
  • 3073edde06adb75ccc588893e107e25485879867 added pipeline status to README (#310)

This list of changes was auto generated.

2.0.0

4 years ago

v2.0.0 February 24 2020

NBench 2.0.0 is a major departure from NBench 1.2 and preceding versions, and these changes were done in order to support NBench's future as a cutting-edge, cross-platform performance testing and macro benchmarking framework:

  • dotnet nbench and NBench.Runner are both now deprecated - NBench is now run from directly inside a console application created by end-users. This makes it easier to configure, debug, and create benchmarks on new .NET Core platforms without having to wait for additional instrumentation or tooling from NBench itself.
  • NBench no longer supports .NET Framework explicitly; moving forward NBench will only support .NET Standard 2.0 and later (.NET Framework 4.6.1 and greater or .NET Core 2.0 and greater.)
  • We've added a new documentation website for NBench: https://nbench.io/
  • NBench now supports configuration as code through the TestPackage class.

For a full set of changes, please see the NBench 2.0.0 milestone on Github.

1.2.1

5 years ago

v1.2.1 July 11 2018

Fixed an issue with the dotnet-nbench package where it missed a required runtime in order to execute against .NET Core 2.* projects.

v1.2

5 years ago

v1.2.0 July 10 2018

Introduces the dotnet-nbench package, which allows all NBench packages to be executed via the dotnet CLI regardless of how many frameworks are targeted by a particular project.

You can read more about the details of how the dotnet-nbench package works here: https://github.com/Petabridge/NBench/blob/master/README.md#running-nbench-tests-with-dotnet-nbench

Support for .NET Core 2.0 and 2.1 All NBench runners now ship with native support for .NET Core 2.0 and .NET Core 2.1.

v1.1.0

5 years ago

v1.1.0 July 1 2018

Fixes several major issues with the NBench.Runner executable and being able to support .NET Core dependencies. This is the first set of fixes in a series of ongoing changes designed to help make NBench more user-friendly, extensible, and capable of all manner of interesting performance-related tasks.

New Feature: Explicitly Settable Counters Counter instances can now be explicitly set to increment or decrement by a known value:

var counter = new Counter(new AtomicCounter(), new CounterMetricName("foo"));
counter.Increment(10);
counter.Decrement(2);
Console.WriteLine(counter.Current); // will print out 8

Read the full set of changes in NBench v1.1 here.

v1.0.4

6 years ago

v1.0.4 June 14 2017

This release resolves an issue with NuGet deployment of our .NET Core versions of the NBench.Runner executable. As a standalone .NET Core executable, the .NET Core runtime must be packaged in the same folder as the .exe. This release ensures that the .NET Core runtime is downloaded along with our .NET Core NBench Runner executables.

v1.0.3

6 years ago

v1.0.3 June 7 2017

This release resolves issues with NuGet deployment of the dedicated NBench.Runner.DotNetCli runner that was originally designed to be used for .NET Core projects. The issue is detailed by #200 and resolved with PR #201.

Important breaking change:

NBench.Runner.DotNetCli is being deprecated (temporarily) as the supported means of running the NBench runner with a benchmark assembly that targets .NET Core. Instead, the original NBench.Runner will come packaged with 2 additional executables that are compatible with .NET Core. Originally, per the instructions on the README, to run the .NET 4.5.2 you would run the following commands:

PS> Install-Package NBench.Runner
PS> .\packages\NBench.Runner\NBench.Runner.exe .\src\bin\Debug\MyPerfTests.dll output-directory="C:\Perf

Since the new NBench.Runner NuGet package ships the additional .NET Core runner, the folder structure of the downloaded runner is as follows:

lib/
    net452/
        NBench.Runner.exe
    netcoreapp1.1/
        win7-x64/
            NBench.Runner.exe
        debian8-x64/
            NBench.Runner

The above way to run the .NET 4.5.2 runner, hence, changes to:

PS> Install-Package NBench.Runner
PS> .\packages\NBench.Runner\lib\net452\NBench.Runner.exe .\src\bin\Debug\net452\MyPerfTests.dll output-directory="C:\Perf

For .NET Core support (meaning running a benchmark that has been targeted for netcoreapp1.1 or netstandard1.6, you will run the appropriate NBench.Runner.exe for your architecture:

PS> Install-Package NBench.Runner
PS> .\packages\NBench.Runner\lib\netcoreapp1.1\win7-x64\NBench.Runner.exe .\src\bin\Debug\netcoreapp1.1\MyPerfTests.dll output-directory="C:\Perf

or, on Debian 8:

PS> Install-Package NBench.Runner
PS> .\packages\NBench.Runner\lib\netcoreapp1.1\debian8-x64\NBench.Runner.exe .\src\bin\Debug\netcoreapp1.1\MyPerfTests.dll output-directory="C:\Perf

Plans will be made to re-introduce support for NBench.Runner.DotNetCli which allows for the usage of NBench as a DotNetCliToolReference.

v1.0.2

6 years ago

v1.0.2 May 31 2017

This release resolves issues: #182 and #192 relating to the NBench.Runner.DotNetCli (the NBench Runner that can execute benchmarks for assemblies that target .NET Core). The root cause was that the runner was unable to execute .NET Core benchmarks that had external dependencies.

Other changes include:

  • Integration tests to validate that the above issue is resolved
  • Upgrade to xUnit .NET Core CLI runner (v2.3.0-beta2-build3683) for all NBench unit tests
  • Update .NET Core runtime targets to netcoreapp1.1

If you are using the .NET Core CLI runner for NBench and encountered this issue, please be sure to update your <DotNetCliToolReference> to v1.0.2:

<ItemGroup>
  <DotNetCliToolReference Include="NBench.Runner.DotNetCli" Version="1.0.2" />
</ItemGroup>

v1.0.1

7 years ago

v1.0.1 March March 29 2017

This release resolves an issue with the v1.0.0 NuGet release for NBench.Runner in which clients installing the package via Install-Package NBench.Runner were not getting the NBench.dll dependency for NBench.Runner.exe. NBench.dll is now compiled into NBench.Runner.exe.