Table of Contents

BenchmarkDotNet v0.13.3

Highlights

Special Thanks

We would like to highlight some important contributors who helped us with this release:

  1. OpenHack'22 (devexperts.com) hackathon sponsored by the DevExperts company. As part of this hackathon we have received following PRs:
  1. Jan Vorlicek helped to implement arm64 disassembler during an internal Microsoft Hackathon:
  • #2107 Implement TryGetReferencedAddress for relative branches (by @janvorli)
  • #2123 Added other arm64 constant form extraction plus other changes (by @janvorli)
  1. Ahmed Garhy (maintainer of Capstone.NET) helped to improve Capstone.NET, which was need to implement arm64 disassembler:

Milestone details

In the v0.13.3 scope, 29 issues were resolved and 71 pull requests were merged. This release includes 87 commits by 22 contributors.

Resolved issues (29)

  • #989 [Suggestion] add API for detecting benchmark run failures. (assignee: @emanuel-v-r)
  • #1422 --disasm switch on ARM64 throws Exception (assignee: @adamsitnik)
  • #1469 Host exe marked /largeaddressaware
  • #1521 Iteration setup and cleanup causes job baseline error with multiple runtimes passed to BenchmarkSwitcher
  • #1684 Getting System.FormatException when passing certain string as params. (assignee: @YegorStepanov)
  • #1709 BenchmarkSwitcher executes all benchmarks that share a base class (assignee: @YegorStepanov)
  • #1736 Consider adding an ExceptionDiagnoser (assignee: @Serg046)
  • #1737 runtime knobs broken link (assignee: @YegorStepanov)
  • #1799 Enable interactive, incremental runs through the terminal (assignee: @melias)
  • #1839 Markdown output should escape the output
  • #1867 Trailing newline characters in input value break summary table
  • #1933 how to debug reflection error
  • #2064 Running with .Net 6/7 Mono JIT (assignee: @Serg046)
  • #2070 BenchmarkDotNet crashing on Linux with DisassemblyDiagnoser (assignee: @adamsitnik)
  • #2088 Running on Linux leaves terminal colors changed (assignee: @farQtech)
  • #2099 WASM is recognized as NativeAOT
  • #2102 Add benchmarking progress to console title (assignee: @franciscomoloureiro)
  • #2125 Tests Just Stop Running During Run (assignee: @adamsitnik)
  • #2126 DotNet 6 - VB - Error: The type or namespace name 'DeserializingBenchmarks' could not be found in the global namespace (are you missing an assembly reference?)
  • #2131 --filter should include argument/params names (assignee: @blouflashdb)
  • #2146 Build warning MSB3245: Could not locate the assembly Mono.Posix
  • #2167 Site: No vertical bar should be displayed for the Main page
  • #2185 WarmupCount=0 doesn't work (assignee: @AndreyAkinshin)
  • #2187 Reports for InProcess jobs don't include non-Result measurements (assignee: @AndreyAkinshin)
  • #2189 broker.ProcessData() hangs if something wrong is the spawned process (assignee: @adamsitnik)
  • #2210 Broken integration tests on Ubuntu 22.04 (assignee: @adamsitnik)
  • #2211 Setting affinity does not work for Environment.ProcessorCount >= 32 (assignee: @Donis-)
  • #2216 ppc64le architecture support required for running benchmarks on Power Systems (assignee: @adamsitnik)
  • #2223 Disassembler fails to disassemble some methods on Linux when using recursive mode (assignee: @adamsitnik)

Merged pull requests (71)

Commits (87)

Contributors (22)

Thank you very much!

Additional details

Date: December 26, 2022

Milestone: v0.13.3 (List of commits)

NuGet Packages: