BenchmarkDotNet v0.9.4
- Improved messages about error in benchmarks, see #104
- Natural sort order, see #92, #95, #97
- Improved
double
/float
/decimal
/enum
support for Params, see #96, #105, #116 - Now environment info includes information about
HardwareTimerKind
andJitModules
- Added
DryConfig
- Improved export performance, closed #119, merged #124
- Better cmd-line discoverability (see #78), e.g. run
Benchmark.exe --help
and some useful information will be printed - Supporting all kinds of references for generated project (exact version, custom paths, GAC, sub-folders, dependent assemblies not copied), closed #41, #49, #72, #123, merged #125
- Friendliness to LinqPad restored, closed #66, merged #125
Milestone details
In the v0.9.4 scope, 13 issues were resolved and 2 pull requests were merged. This release includes 55 commits by 4 contributors.
Resolved issues (13)
- #41 Seems, not supported "sub-folder"
- #49 Dependent assemblies are not copied or added to the project file.
- #72 Referenced assembly dll-file (directly via file) not referenced in generated Program.csproj
- #78 Better command line discoverability (assignee: @mattwarren)
- #92 Results in the R graphs aren't displayed in a "Natural Sort Order"
- #95 Results should preserve the order of param values definition
- #96 Implement enums as valid Param for test
- #97 Params changes an order
- #104 System.InvalidOperationException: StatSummary: Sequence contains no elements
- #105 Params Attribute bug with float type
- #116 Issue when ParamAttribute decorated property is double and current system culture has comma as decimal separator
- #119 For large benchmarks report exporting is very, very slow and has a massive Gen2 heap
- #123 Can not run benchmark that references custom framework library (like WindowsBase)
Merged pull requests (2)
- #124 Faster export (by @adamsitnik)
- #125 supporting all kinds of references for generated project (by @adamsitnik)
Commits (55)
- 74789d Sort results by Parameter, in a Natural Sort Order (by @mattwarren)
- fec115 ParameterComparer refacotring (by @AndreyAkinshin)
- 9d3856 Add information about JIT modules in EnvironmentHelper (by @AndreyAkinshin)
- 7667ee Adding TraceEvent library for parsing ETW Events (by @mattwarren)
- ae71f2 More work on the GC/Allocation diagnostics (by @mattwarren)
- efa739 Allow diagnosers to be run from cmd line or via [Config(..)] (by @mattwarren)
- 633f1c Throw an error when invalid Config(..) options are specified (by @mattwarren)
- 04678a Add information about HardwareTimerKind (by @AndreyAkinshin)
- 7f3cf0 Fix in GetCorrectTypeNameTest (by @AndreyAkinshin)
- d9b890 Fix in HardwareTimerKind (by @AndreyAkinshin)
- 416e36 Natural sort order for CsvMeasurementsExporter and plots, Fixed #92 (by @AndreyAkinshin)
- dfc54a Ensure we sort the results by Method Name/Description (by @mattwarren)
- fa6c62 Changed GCDiagnoser to inspect live ETW event stream instead of recording to ... (by @goldshtn)
- d3f7ce Params: float/double/decimal support, Fixed #105 (by @AndreyAkinshin)
- 7bce9b Params: enum support, Fixed #96 (by @AndreyAkinshin)
- 4890dd Merge pull request #106 from goldshtn/develop (by @mattwarren)
- 9072b9 More robust when a benchmark throws an exception (see #104) (by @mattwarren)
- 2b9162 Work on #73 - highlighting in the Console output (by @mattwarren)
- f62483 Work on #73 - highlighting in the Console output (by @mattwarren)
- a639d5 Work on #73 - highlighting in Markdown output (by @mattwarren)
- 1457fe Changing [ConfigWithDryJobs] -> [DryConfig] (by @mattwarren)
- 396b7d Diagnostics for "JIT In-lining" events (by @mattwarren)
- 7a1027 Merge remote-tracking branch 'origin/master' into develop (by @adamsitnik)
- 6ec7f0 GC Diagnosers: reference to nuget package, unit test for both CLASSIC and DNX (by @adamsitnik)
- 9e7059 Proper XML Doc comment for DryConfig attribute (by @mattwarren)
- ad6be7 README.md: update (by @AndreyAkinshin)
- a4d0b8 Merge branch 'master' into develop (by @adamsitnik)
- 71e911 perf: CSV export: less allocations, reusing JobShortInfo (by @adamsitnik)
- 409b5e perf: logging with less allocations (by @adamsitnik)
- be6bfc perf: simpified LoggerWithPrefix, no need to check for multiple lines because... (by @adamsitnik)
- ade8a1 perf: avoid string.Concat and string.PadLeft (by @adamsitnik)
- f070eb perf: reuse AllProperties, reduced complexity (by @adamsitnik)
- 57c88b perf: deffer export to enable continuous progress updates instead of single l... (by @adamsitnik)
- 40071d loggers: final cleanup and fix for doubled new lines for diagnosers (by @adamsitnik)
- c46854 supporting all kinds of references for generated project. This closes #49, cl... (by @adamsitnik)
- a36e34 Initial work on better cmd line discoverability (part of #78) (by @mattwarren)
- 3f0752 Better formatting in the Baseline column (by @mattwarren)
- 8ab1a2 More samples (by @mattwarren)
- 1981a3 Refactoring of ConfigParser code (part of #78) (by @mattwarren)
- 3d1eba Allows "Exporters" and "Analysers" to be specified via cmd line (part of #78) (by @mattwarren)
- 5d195a Allow "all" option, i.e. "exporters=all" (part of #78) (by @mattwarren)
- 2146b8 Added some tests for ConfigParser (by @mattwarren)
- 582e08 Merge pull request #124 from PerfDotNet/perf (by @AndreyAkinshin)
- 84e67d README: Update team section (by @AndreyAkinshin)
- 4d6001 README: add FAQ question (by @AndreyAkinshin)
- 43ade3 BenchmarkDotNet.Samples: add #CLASSIC_RELEASE in launchSettings (by @AndreyAkinshin)
- e3c2d1 README: some improvements (by @AndreyAkinshin)
- c416c4 use the highest used target framework version to avoid framework mismatches +... (by @adamsitnik)
- 8a49b3 Merge branch 'develop' into references (by @adamsitnik)
- 23b2ea integration tests for complex references scenarios (by @adamsitnik)
- ddfa4a classic: specify full name and use newer msbuild dlls to avoid calling extra bat (by @adamsitnik)
- 79e8eb code cleanup after LINQPad 4 & 5 verification (by @adamsitnik)
- 445137 Merge pull request #125 from PerfDotNet/references (by @AndreyAkinshin)
- 4f1e1f Update package description (by @AndreyAkinshin)
- 0f5531 Set library version: 0.9.4 (by @AndreyAkinshin)
Contributors (4)
- Adam Sitnik (@adamsitnik)
- Andrey Akinshin (@AndreyAkinshin)
- Matt Warren (@mattwarren)
- Sasha Goldshtein (@goldshtn)
Thank you very much!
Additional details
Milestone: v0.9.4
Date: March 24, 2016
NuGet Packages: