Releases: petabridge/NBench
NBench v2.0.1
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
andNBench.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:
- e80dc57 Merge pull request #320 from petabridge/dev
- 1f7d365 added 2.0.1 release notes (#319)
- f5c970d Bump ApprovalTests from 4.5.0 to 4.5.1 (#318)
- f5e1096 close #313 - fix NuGet symbol publishing (#317)
- 347f0ec added Linux integration specs (#316) [ #312 ]
- 6808e68 close #314 - fix flaky integration test (#315)
- d83b040 don't pack NBench.TestAssembly (#309)
- 7e6fe78 added debugging to flaky test (#311)
- 3073edd added pipeline status to README (#310)
This list of changes was auto generated.
NBench v2.0.0 Release
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
andNBench.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.
NBench v1.2.2 Production Release
NBench v1.2.1 Production Release
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.
NBench v1.2 Production Release
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.
NBench v1.1 Production Release
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 Counter
s
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
NBench v1.0.4 Stable Release
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.
NBench v1.0.3 Stable Release
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
.
NBench v1.0.2 Stable Release
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>
NBench v1.0.1 Stable Release
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.