Table of Contents

BenchmarkDotNet v0.14.0

Highlights

  • Introduce BenchmarkDotNet.Diagnostics.dotMemory #2549: memory allocation profile of your benchmarks using dotMemory, see BenchmarkDotNet.Samples.IntroDotMemoryDiagnoser
  • Introduce BenchmarkDotNet.Exporters.Plotting #2560: plotting via ScottPlot (initial version)
  • Multiple bugfixes
  • The default build toolchains have been updated to pass IntermediateOutputPath, OutputPath, and OutDir properties to the dotnet build command. This change forces all build outputs to be placed in a new directory generated by BenchmarkDotNet, and fixes many issues that have been reported with builds. You can also access these paths in your own .csproj and .props from those properties if you need to copy custom files to the output.

Bug fixes

  • Fixed multiple build-related bugs including passing MsBuildArguments and .Net 8's UseArtifactsOutput.

Breaking Changes

  • DotNetCliBuilder removed retryFailedBuildWithNoDeps constructor option.
  • DotNetCliCommand removed RetryFailedBuildWithNoDeps property and BuildNoRestoreNoDependencies() and PublishNoBuildAndNoRestore() methods (replaced with PublishNoRestore()).

Milestone details

In the v0.14.0 scope, 17 issues were resolved and 28 pull requests were merged. This release includes 55 commits by 16 contributors.

Resolved issues (17)

  • #946 Copy to $(OutDir) does not copy to benchmarkdotnet output folder (assignee: @timcassell)
  • #1270 Docs for SummaryStyle
  • #1377 Forward msbuild properties to project reference (assignee: @timcassell)
  • #1457 Directory.Build.props hijacking generated csproj output path (assignee: @timcassell)
  • #1595 ValueTask-returning benchmarks are not being called correctly (assignee: @timcassell)
  • #1795 'BenchmarkDotNet.Autogenerated\project.assets.json' not found. (assignee: @timcassell)
  • #2253 TaskbarProgressCom is not supported when benchmarking Native AOT
  • #2310 Bug: Getting an error loading BenchmarkDotNet.Diagnostics.Windows.dll for a benchmark that is not windows specific
  • #2366 default(object) takes more time than expected in net7.0
  • #2466 Add support for true (assignee: @timcassell)
  • #2477 MSBuild Params Not Applied to Benchamrk (assignee: @timcassell)
  • #2524 Reference assemblies are searched in the wrong location
  • #2540 Unable to use wasm or monoaotllvm as runtime (assignee: @LoopedBard3)
  • #2542 InvalidMeasurementUnitException when using --statisticalTest argument when comparing private builds (assignee: @AndreyAkinshin)
  • #2545 HideColumns + custom corerun = incorrect table markdown
  • #2554 Question about visibility of DotTraceDiagnoser's second constructor (assignee: @AndreyAkinshin)
  • #2570 BenchmarkDotNet test adapter not running tests with dotnet test

Merged pull requests (28)

Commits (55)

Contributors (16)

Thank you very much!

Additional details

Date: August 06, 2024

Milestone: v0.14.0 (List of commits)

NuGet Packages: