Table of Contents

BenchmarkDotNet v0.10.4

  • New logo
  • Update to Roslyn 2.0, drop .NET 4.5 support (#303)
  • Initial support of HardwareCounters (Windows only)
  • Initial experimental support of in-process benchmarks
  • Optional configs for BenchmarkSwitcher (#391, #392)
  • Host API interface (#356)
  • Improved measurements for async benchmarks (#415)
  • Improved precision level (MinIterationTimes is 500ms instead of 200ms; introduced AccuracyMode.MaxAbsoluteError and AccuracyMode.MaxRelativeError instead of AccuracyMode.MaxStdErrRelative; logic which select amount of iterations uses confidence intervals instead of standard errors; the Error column (half of CI99.9%) is shown by default instead of StdErr)
  • Introduced ISummaryStyle, raw data in CSV reports (#118, #146, #396)
  • Handle cases when report files are existed and locked (#414, #416)
  • MarkdownExporter right-justifies numeric columns (#421)
  • Better colors for console output (#376)
  • Column legends
  • Add information about CPU microarchitecture for well-known processors to summary
  • Fix AssemblyInformationalVersionAttribute (#382)
  • Fix incorrect method filtering in BenchmarkSwitcher (#365)
  • Fix OS Version in Summary for Windows 10 (#351)
  • Fix OS Version on Mono
  • Fix --class and --method filtering (#249)
  • Fix --exporters option (#189)
  • Fix escaping logic in CsvExporter (#294, #409)
  • Fix MacOS detection
  • Minor bugfixes and API improvements

Milestone details

In the v0.10.4 scope, 23 issues were resolved and 14 pull requests were merged. This release includes 103 commits by 9 contributors.

Resolved issues (23)

  • #118 Raw data in CSV reports (assignee: @AmadeusW)
  • #146 Ability to specify units / easier comparison (assignee: @AmadeusW)
  • #159 Warn user if no Columns were defined (assignee: @adamsitnik)
  • #189 --exporters option appears not to be working (assignee: @adamsitnik)
  • #249 --class and --method should combine as "AND" filtering (assignee: @adamsitnik)
  • #294 [Suggestion] CSVHelper.Escape() method should check for actual separator value (assignee: @alinasmirnova)
  • #303 Update to Roslyn 2.0 when RTM is shipped to nuget.org (assignee: @adamsitnik)
  • #351 Fix OS Version in Summary for Windows 10 (assignee: @adamsitnik)
  • #352 Troubles with CoreJob on Linux (assignee: @adamsitnik)
  • #365 [Minor bug] Benchmark switcher: incorrect method filtering (assignee: @adamsitnik)
  • #376 Pick better background colors for output (assignee: @AndreyAkinshin)
  • #382 AssemblyInformationalVersion doesn't work (assignee: @AndreyAkinshin)
  • #388 Precise Machine Counter Diagnoser (assignee: @adamsitnik)
  • #391 BenchmarkSwitcher should take an optinal IConfig
  • #393 Troubles with ClrJob in .NET Core applications (assignee: @adamsitnik)
  • #395 Could not load file or assembly 'System.Reflection.Metadata' (assignee: @adamsitnik)
  • #401 Exceptions in Roslyn.Builder (assignee: @adamsitnik)
  • #406 BenchmarkDotNet with netcoreapp2.0 requires using RuntimeFrameworkVersion directly in the project file (assignee: @adamsitnik)
  • #410 Troubles with Classic applications on nightly BenchmarkDotNet (assignee: @adamsitnik)
  • #412 HardwareCounter.InstructionRetired failing with ArgumentNullException. Build 82 (assignee: @adamsitnik)
  • #415 Allocations for async methods measures BenchmarkDotNet (assignee: @adamsitnik)
  • #419 Suspicious warnings about MemoryMappedFiles (assignee: @adamsitnik)
  • #424 Make InliningDiagnoser filtering more flexible (assignee: @adamsitnik)

Merged pull requests (14)

Commits (103)

Contributors (9)

Thank you very much!

Additional details

Date: April 21, 2017

Milestone: v0.10.4

NuGet Packages: