summaryrefslogtreecommitdiff
path: root/perf.groovy
diff options
context:
space:
mode:
authorDrew Scoggins <anscoggi@microsoft.com>2017-05-06 02:39:15 +0900
committerJosé Rivero <jorive@microsoft.com>2017-05-05 10:39:15 -0700
commit803b48ca0f6e3097a3453d1d15d3765704461651 (patch)
tree55f8d42277e08f66ecc8886e8b6ca04601c10be8 /perf.groovy
parentc84237673b6167ee964ba6bea00041dac9dca3e2 (diff)
downloadcoreclr-803b48ca0f6e3097a3453d1d15d3765704461651.tar.gz
coreclr-803b48ca0f6e3097a3453d1d15d3765704461651.tar.bz2
coreclr-803b48ca0f6e3097a3453d1d15d3765704461651.zip
Add lean run support to CoreCLR perf (#11347)
In the xunit performance harness we added support for a "lean" run which only runs the stopwatch to collect duration and none of the ETW providers are turned on. This adds support in the automation for doing runs that use this lean feature.
Diffstat (limited to 'perf.groovy')
-rw-r--r--perf.groovy17
1 files changed, 15 insertions, 2 deletions
diff --git a/perf.groovy b/perf.groovy
index 2d09c31c0a..8dfcabc43d 100644
--- a/perf.groovy
+++ b/perf.groovy
@@ -62,8 +62,16 @@ def static getOSGroup(def os) {
{
parameters
{
- stringParam('XUNIT_PERFORMANCE_MAX_ITERATION', '2', 'Sets the number of iterations to one. We want to do this so that we can run as fast as possible as this is just for smoke testing')
- stringParam('XUNIT_PERFORMANCE_MAX_ITERATION_INNER_SPECIFIED', '2', 'Sets the number of iterations to one. We want to do this so that we can run as fast as possible as this is just for smoke testing')
+ stringParam('XUNIT_PERFORMANCE_MAX_ITERATION', '2', 'Sets the number of iterations to two. We want to do this so that we can run as fast as possible as this is just for smoke testing')
+ stringParam('XUNIT_PERFORMANCE_MAX_ITERATION_INNER_SPECIFIED', '2', 'Sets the number of iterations to two. We want to do this so that we can run as fast as possible as this is just for smoke testing')
+ }
+ }
+ else
+ {
+ parameters
+ {
+ stringParam('XUNIT_PERFORMANCE_MAX_ITERATION', '21', 'Sets the number of iterations to twenty one. We are doing this to limit the amount of data that we upload as 20 iterations is enought to get a good sample')
+ stringParam('XUNIT_PERFORMANCE_MAX_ITERATION_INNER_SPECIFIED', '21', 'Sets the number of iterations to twenty one. We are doing this to limit the amount of data that we upload as 20 iterations is enought to get a good sample')
}
}
def configuration = 'Release'
@@ -96,8 +104,13 @@ def static getOSGroup(def os) {
batchFile("tests\\runtest.cmd ${configuration} ${architecture} GenerateLayoutOnly")
+ // Run with just stopwatch
batchFile("tests\\scripts\\run-xunit-perf.cmd -arch ${arch} -configuration ${configuration} -testBinLoc bin\\tests\\${os}.${architecture}.${configuration}\\performance\\perflab\\Perflab -library -generateBenchviewData \"%WORKSPACE%\\Microsoft.Benchview.JSONFormat\\tools\" ${uploadString} -runtype ${runType}")
batchFile("tests\\scripts\\run-xunit-perf.cmd -arch ${arch} -configuration ${configuration} -testBinLoc bin\\tests\\${os}.${architecture}.${configuration}\\Jit\\Performance\\CodeQuality -generateBenchviewData \"%WORKSPACE%\\Microsoft.Benchview.JSONFormat\\tools\" ${uploadString} -runtype ${runType}")
+
+ // Run with the full set of counters enabled
+ batchFile("tests\\scripts\\run-xunit-perf.cmd -arch ${arch} -configuration ${configuration} -testBinLoc bin\\tests\\${os}.${architecture}.${configuration}\\performance\\perflab\\Perflab -library -generateBenchviewData \"%WORKSPACE%\\Microsoft.Benchview.JSONFormat\\tools\" ${uploadString} -runtype ${runType} -collectionFlags deafult+BranchMispredictions+CacheMisses+InstructionRetired+gcapi")
+ batchFile("tests\\scripts\\run-xunit-perf.cmd -arch ${arch} -configuration ${configuration} -testBinLoc bin\\tests\\${os}.${architecture}.${configuration}\\Jit\\Performance\\CodeQuality -generateBenchviewData \"%WORKSPACE%\\Microsoft.Benchview.JSONFormat\\tools\" ${uploadString} -runtype ${runType} -collectionFlags deafult+BranchMispredictions+CacheMisses+InstructionRetired+gcapi")
}
}