BenchmarkDotNet v0.10.1
- MemoryDiagnoser got improved. The changes:
- Memory Diagnoser is now part of BenchmarkDotNet.Core.dll, and it's enabled by default
- MemoryDiagnoser is 100% accurate about allocated memory when using default settings or Job.ShortRun or any longer job. (see #284)
- Memory Diagnoser no longer includes allocations from Cleanup/Setup methods (see #186)
- the results are now scaled so they are stable across the runs. (see #133)
- .NET Core 1.1+ support, we no longer support 1.0, we target netcoreapp1.1 now. Reason: we wanted to use
GC.GetAllocatedBytesForCurrentThread
in MemoryDiagnoser which is available only in 1.1+ - Improved information about environment in summary
- Minor bugfixes
Milestone details
In the v0.10.1 scope, 9 issues were resolved and 2 pull requests were merged. This release includes 38 commits by 2 contributors.
Resolved issues (9)
- #133 High differences between run for GC Diagnoser (assignee: @adamsitnik)
- #186 GC Diagnoser should not include allocations done by Setup method (assignee: @adamsitnik)
- #200 be accurate about allocated bytes/op (assignee: @adamsitnik)
- #208 Troubles with MemoryDiagnoserTests (assignee: @adamsitnik)
- #298 PlatformNotSupportedException when reading ProcessorAffinity on MacOS (assignee: @adamsitnik)
- #301 netcoreapp1.1 support (assignee: @adamsitnik)
- #309 Diagnosers don't export data to the measurements.csv files (assignee: @adamsitnik)
- #312 RuntimeInformation can be made static and internal (assignee: @AndreyAkinshin)
- #313 Bug in Generator (interface as a return type) (assignee: @AndreyAkinshin)
Merged pull requests (2)
- #284 built-in accurate and cross platform Memory Diagnoser (by @adamsitnik)
- #314 Improved information about job environments in summary (by @AndreyAkinshin)
Commits (38)
- 23f3b2 built-in accurate and cross platform Memory Diagnoser, fixes #186, fixes #200 (by @adamsitnik)
- 4cabc2 don't try to use AppDomain's Monitoring in Mono since it's not implemented there (by @adamsitnik)
- 99c21e scale GC collections count / op, makes MemoryDiagnoser output stable for benc... (by @adamsitnik)
- e91255 use per mille to make the Memory Diagnoser output more human-friendly + reduc... (by @adamsitnik)
- a0536d Merge branch 'master' into universalMemoryDiagnoser (by @adamsitnik)
- ade1be preallocate results list in more safe, but still ugly way (by @adamsitnik)
- 102282 closed the ugly code in separate class (by @adamsitnik)
- 7825b7 Update links in docs (by @AndreyAkinshin)
- aaf720 Fix typo (by @AndreyAkinshin)
- 1e2d38 update to netcoreapp1.1 in order to get universal cross platform memory diagn... (by @adamsitnik)
- e69e80 don't show Gen 1 and Gen 2 columns if empty for all benchmarks (by @adamsitnik)
- b10a84 PlatformNotSupportedException when reading ProcessorAffinity on MacOS, fixes ... (by @adamsitnik)
- 2a529a update to .NET Core 1.1, fixes #301 (by @adamsitnik)
- e6ccee always show Gen 0 column, display Gen 0/1/2 per 1k op (by @adamsitnik)
- 3bcc59 Merge branch 'master' into universalMemoryDiagnoser (by @adamsitnik)
- a09810 make public things readonly, expensive things lazy and extend's validators in... (by @adamsitnik)
- eae2cd added documentation and smarter bytes formatting (by @adamsitnik)
- 1208c3 Merge branch 'master' into universalMemoryDiagnoser (by @adamsitnik)
- f1f231 Merge pull request #284 from dotnet/universalMemoryDiagnoser (by @AndreyAkinshin)
- 6300a2 include MemoryDiagnoser's results in CsvMeasurementsExporter, fixes #309 (by @adamsitnik)
- ddb37e don't use spaces in columns names in CSV, #309 (by @adamsitnik)
- 112f62 Fix stupid bug with condition for optional MedianColumn (by @AndreyAkinshin)
- 60127c Remove Cpu_Ilp_RyuJit.cs because it's obsolete (by @AndreyAkinshin)
- 401456 Print full information about a GenerateException (by @AndreyAkinshin)
- 0b9177 Support of benchmark methods with an interface as a return type, fixed #313 (by @AndreyAkinshin)
- b42b9e Improved information about job environments in summary (by @AndreyAkinshin)
- 92f1db Improved information about job environments in summary, part 2 (by @AndreyAkinshin)
- 5d8dd7 Merge pull request #314 from dotnet/summary (by @AndreyAkinshin)
- d279f6 Make RuntimeInformation static internal, fix #312 (by @AndreyAkinshin)
- 1df6ca Minor API improvements in BenchmarkSwitcher (by @AndreyAkinshin)
- c12daf Dot't show the median column for the N=1 case (by @AndreyAkinshin)
- 19caa2 RyuJit is always avaiable for .NET Core (by @adamsitnik)
- 13e12c make JitOptimizationsValidator work for .NET Core (needed properties are avai... (by @adamsitnik)
- c17b43 hide the AllocatedBytes column for Mono, show Gen 0 only if any of the benchm... (by @adamsitnik)
- 29ac91 updated docs about Diagnosers in the Overview ;) (by @adamsitnik)
- cc974e Improved information about job environments in summary, part 3 (by @AndreyAkinshin)
- 8846af Update docs (by @AndreyAkinshin)
- 37b126 Set library version: 0.10.1 (by @AndreyAkinshin)
Contributors (2)
- Adam Sitnik (@adamsitnik)
- Andrey Akinshin (@AndreyAkinshin)
Thank you very much!
Additional details
Date: December 04, 2016
Milestone: v0.10.1
NuGet Packages: