JitBench harness improvements (#15151)
authorNoah Falk <noahfalk@users.noreply.github.com>
Sat, 3 Feb 2018 23:03:30 +0000 (15:03 -0800)
committerGitHub <noreply@github.com>
Sat, 3 Feb 2018 23:03:30 +0000 (15:03 -0800)
commit72a6196896b335a5737ad1eeb042fcef8ca98239
treebfdd71eb7c949e98d9460a1761456f82b5ad1537
parenteb54e48b13fdfb7233b7bcd32b93792ba3e89f0c
JitBench harness improvements (#15151)

* Improvements to JitBench perf test

1) More of the scenario setup is delegated to the scripts in the JitBench repo. The run now consists of (a) acquire source (b) RunBenchmark.ps1 -SetupOnly (c) run dotnet MusicStore.dll over and over to get measurements.
2) A specific last known good framework version is used instead of an open-ended latest version. This should make the test more reliable day-to-day at the cost that we have to bump the version when breaking changes occur.
3) Added an option to test with a local copy of JitBench instead of acquiring one from github. This is useful to for testing simultaneous changes in both repos.
4) Updated the output parsing to account for the changes I made in MusicStore's console spew.

* Code review feedback

* Don't use precompiled views by default

In order to match the previous benchmark results we should avoid
using precompiled views.

* Fixed JitBench local repo issue

In my earlier change I accidentally broke the normal scenario when you do not use a local copy of JitBench repo. This case was failing with an exception in SetupStatics because the null directory didn't exist.
dependencies.props
tests/src/performance/Scenario/JitBench/JitBench.csproj
tests/src/performance/Scenario/JitBench/JitBenchHarness.cs
tests/src/performance/Scenario/JitBench/JitBenchHarnessOptions.cs