Table of Contents

BenchmarkDotNet v0.13.6

Highlights

  • New BenchmarkDotNet.Diagnostics.dotTrace NuGet package. Once this package is installed, you can annotate your benchmarks with the [DotTraceDiagnoser] and get a dotTrace performance snapshot at the end of the benchmark run. #2328
  • Updated documentation website. We migrated to docfx 2.67 and got the refreshed modern template based on bootstrap 5 with dark/light theme switcher.
  • Updated BenchmarkDotNet.Templates. Multiple issues were resolved, now you can create new benchmark projects from terminal or your favorite IDE. #1658 #1881 #2149 #2338
  • Response file support. Now it's possible to pass additional arguments to BenchmarkDotNet using @filename syntax. #2320 #2348
  • Custom runtime support. #2285
  • Introduce CategoryDiscoverer, see IntroCategoryDiscoverer. #2306 #2307
  • Multiple bug fixes.

Milestone details

In the v0.13.6 scope, 19 issues were resolved and 33 pull requests were merged. This release includes 127 commits by 14 contributors.

Resolved issues (19)

  • #1658 Pass arguments to runner in dotnet new templates
  • #1694 Length cannot be less than zero
  • #1783 MemoryDiagnoser table output invalid symbol
  • #1856 Not Set Hardware Counter throws Argument Null Exception
  • #1877 Any combination of Params/ParamsSource/ParamsAllValues is broken
  • #1881 broken template for Rider
  • #2036 Publish changelog for each BenchmarkDotNet versions using GitHub releases (assignee: @AndreyAkinshin)
  • #2149 BenchmarkDotNet.Templates not showing in VS2022(17.3.6) new project dialog
  • #2249 BenchmarkSwitcher.Run nullability check warnings in .NET 7 (assignee: @AndreyAkinshin)
  • #2259 CSproj code generator produces invalid syntax after incorrectly parsing .targets file
  • #2264 Benchmarkdotnet crashes when flushing the logger
  • #2266 Incompatible Microsoft.CodeAnalysis.CSharp versioning with Razor
  • #2271 'Unknown processor' yet again (assignee: @br3aker)
  • #2279 Endless compile errors (assignee: @AndreyAkinshin)
  • #2282 TimeUnit Setting Not Being Used in Excel Report
  • #2306 Allow for benchmark categories composition using inheritance (assignee: @AndreyAkinshin)
  • #2312 CodeAnalysisTreatWarningsAsErrors=true in Directory.Build.props breaks auto-generated benchmark assembly build (assignee: @viktorz)
  • #2333 Cannot benchmark netcoreapp3.0
  • #2358 System.MissingMethodException: Method not found: 'System.String Perfolizer.Horology.TimeInterval.ToString(System.Globalization.CultureInfo, System.String, Perfolizer.Common.UnitPresentation)'

Merged pull requests (33)

Commits (127)

Contributors (14)

Thank you very much!

Additional details

Date: July 11, 2023

Milestone: v0.13.6 (List of commits)

NuGet Packages: