77 lines
2.1 KiB
Groovy
77 lines
2.1 KiB
Groovy
plugins {
|
|
id 'me.champeau.gradle.jmh' version '0.2.0'
|
|
}
|
|
|
|
apply plugin: 'me.champeau.gradle.jmh'
|
|
|
|
uploadArchives.enabled = false
|
|
jar.enabled = false
|
|
|
|
task checkActions(type: JavaExec) {
|
|
classpath = sourceSets.main.runtimeClasspath
|
|
main = 'com.github.gumtree.dist.ActionsCollector'
|
|
args 'check'
|
|
}
|
|
|
|
task collectActions(type: JavaExec) {
|
|
classpath = sourceSets.main.runtimeClasspath
|
|
main = 'com.github.gumtree.dist.ActionsCollector'
|
|
args 'collect'
|
|
}
|
|
|
|
if (project.hasProperty('trees')) {
|
|
task collectTrees(type: JavaExec) {
|
|
classpath = sourceSets.main.runtimeClasspath
|
|
main = 'com.github.gumtree.dist.BenchmarkCollector'
|
|
args trees
|
|
}
|
|
}
|
|
|
|
def getGitHash = { ->
|
|
try {
|
|
def stdout = new ByteArrayOutputStream()
|
|
exec {
|
|
commandLine 'git', 'describe', '--dirty=+', '--tags'
|
|
standardOutput = stdout
|
|
}
|
|
return stdout.toString().trim()
|
|
} catch (all) {
|
|
return '0000000'
|
|
}
|
|
}
|
|
|
|
jmh {
|
|
fork = 0
|
|
warmupIterations = 3
|
|
iterations = 3
|
|
benchmarkMode = 'avgt'
|
|
benchmarkParameters = [
|
|
'refPath' : new File("${project.projectDir}/src/jmh/resources/").listFiles()
|
|
.collect { it.getAbsolutePath() }
|
|
.findAll { it.matches(".*_v0_.*") }
|
|
.join(",")
|
|
]
|
|
humanOutputFile = project.file("${project.buildDir}/reports/jmh/human_${new Date().getTime()}_${getGitHash()}.txt")
|
|
resultsFile = project.file("${project.buildDir}/reports/jmh/results_${new Date().getTime()}_${getGitHash()}.csv")
|
|
resultFormat = 'CSV'
|
|
}
|
|
|
|
task jmhPlot(type: Exec, dependsOn: 'jmh') {
|
|
commandLine "R", "-f", "${project.projectDir}/src/main/r/plotBenchmark.R", "${project.buildDir}/reports/jmh/"
|
|
}
|
|
|
|
dependencies {
|
|
compile project(':client')
|
|
compile project(':client.diff')
|
|
compile project(':gen.antlr3')
|
|
compile project(':gen.antlr3-antlr')
|
|
compile project(':gen.antlr3-json')
|
|
compile project(':gen.antlr3-php')
|
|
compile project(':gen.antlr3-r')
|
|
compile project(':gen.antlr3-xml')
|
|
compile project(':gen.c')
|
|
compile project(':gen.jdt')
|
|
compile project(':gen.js')
|
|
compile project(':gen.ruby')
|
|
}
|