Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
0.3.0 May 24 2016
This release introduces some breaking changes to NBench:
Tracing
The biggest feature included in this release is the addition of tracing support, which is exposed directly to end-users so they can capture trace events and include them in the output produced by NBench.
You can access the
IBenchmarkTrace
object through theBenchmarkContext
passed into any of yourPerfSetup
,PerfBenchmark
, orPerfCleanup
methods like such:NBench.Runner.exe
now takes atrace=true|false
commandline argument, which will enable the new tracing feature introduced in this release.Tracing is disabled by default.
Skippable Warmups
You can now elect to skip warmups altogether for your specs. This feature is particularly useful for long-running iteration benchmarks, which are often used for stress tests. Warmups don't add any value here.
Here's how you can skip warmups:
Just set
SkipWarmups = true
on yourPerfBenchmark
attribute wherever you wish to skip a warmup.Foreground thread is no longer given high priority when concurrent mode is on.
If you are running the
NBench.Runner
withconcurrent=true
, we no longer give the main foreground thread high priority as this resulted in some unfair scheduling during concurrent tests. All threads within theNBench.Runner
process all share the same priority now.Markdown reports include additional data
All markdown reports now include:
All of these were added in order to make it easy for end-users reading the reports to know what the NBench settings were at the time the report was produced.