Skip to content

Commit

Permalink
Merge pull request #995 from benjchristensen/jmh-args
Browse files Browse the repository at this point in the history
Support Custom JMH Args
  • Loading branch information
benjchristensen committed Mar 27, 2014
2 parents 4d9e3e6 + 3d54a17 commit 0e2a797
Showing 1 changed file with 37 additions and 21 deletions.
58 changes: 37 additions & 21 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -78,31 +78,47 @@ subprojects {
}
}

/**
* By default: Run without arguments this will execute all benchmarks that are found (can take a long time).
*
* Optionally pass arguments for custom execution. Example:
*
* ../gradlew benchmarks '-Pjmh=-f 1 -tu ns -bm avgt -wi 5 -i 5 -r 1 .*OperatorSerializePerf.*'
*
* To see all options:
*
* ../gradlew benchmarks '-Pjmh=-h'
*/
task benchmarks(type: JavaExec) {
main = 'org.openjdk.jmh.Main'
classpath = sourceSets.perf.runtimeClasspath + sourceSets.main.output
maxHeapSize = "512m"
// args '-h' // help output
args '-f' // fork
args '1'
args '-tu' // time unit
args 'ns'
args '-bm' // benchmark mode
args 'avgt'
args '-wi' // warmup iterations
args '5'
args '-i' // test iterations
args '5'
args '-r' // time per execution in seconds
args '1'
// args '-prof' // profilers
// args 'HS_GC' // HotSpot (tm) memory manager (GC) profiling via implementation-specific MBeans
// args 'HS_RT' // HotSpot (tm) runtime profiling via implementation-specific MBeans
// args 'HS_THR' // HotSpot (tm) threading subsystem via implementation-specific MBeans
// args 'HS_COMP' // HotSpot (tm) JIT compiler profiling via implementation-specific MBeans
// args 'HS_CL' // HotSpot (tm) classloader profiling via implementation-specific MBeans
// args 'STACK' // Simple and naive Java stack profiler
// args '.*OperatorSerializePerf.*' // for running only a specific test

if (project.hasProperty('jmh')) {
args(jmh.split(' '))
} else {
//args '-h' // help output
args '-f' // fork
args '1'
args '-tu' // time unit
args 'ns'
args '-bm' // benchmark mode
args 'avgt'
args '-wi' // warmup iterations
args '5'
args '-i' // test iterations
args '5'
args '-r' // time per execution in seconds
args '5'
//args '-prof' // profilers
//args 'HS_GC' // HotSpot (tm) memory manager (GC) profiling via implementation-specific MBeans
//args 'HS_RT' // HotSpot (tm) runtime profiling via implementation-specific MBeans
//args 'HS_THR' // HotSpot (tm) threading subsystem via implementation-specific MBeans
//args 'HS_COMP' // HotSpot (tm) JIT compiler profiling via implementation-specific MBeans
//args 'HS_CL' // HotSpot (tm) classloader profiling via implementation-specific MBeans
//args 'STACK' // Simple and naive Java stack profiler
args '.*OperatorSerializePerf.*' // for running only a specific test
}
}

}
Expand Down

0 comments on commit 0e2a797

Please sign in to comment.