aboutsummaryrefslogtreecommitdiff
path: root/impl/build.gradle
blob: 7f7fddb4910a514cd14a5299722b00f97eaacf0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
plugins {
    id "me.champeau.jmh"
}

description = "PerfMark Implementation API"
ext.moduleName =  "io.perfmark.impl"
ext.jdkVersion = JavaVersion.VERSION_1_6

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(11)
    }
}

compileJava {
    sourceCompatibility = jdkVersion
    targetCompatibility = jdkVersion

    options.compilerArgs.add("-Xlint:-options")
}

dependencies {
    implementation project(':perfmark-api')
    compileOnly libs.jsr305,
            libs.errorprone
    testImplementation libs.truth
    testCompileOnly libs.errorprone
}


jmh {

    timeOnIteration = "1s"
    warmup = "1s"
    fork = 400
    warmupIterations = 0

    includes = ["ClassInit"]
    profilers = ["cl"]
    jvmArgs = ["-Dio.perfmark.PerfMark.debug=true"]

    /*
    profilers = ["perfasm"]

    jvmArgs = [
            "-XX:+UnlockDiagnosticVMOptions",
            "-XX:+LogCompilation",
            "-XX:LogFile=/tmp/blah.txt",
            "-XX:+PrintAssembly",
            "-XX:+PrintInterpreter",
            "-XX:+PrintNMethods",
            "-XX:+PrintNativeNMethods",
            "-XX:+PrintSignatureHandlers",
            "-XX:+PrintAdapterHandlers",
            "-XX:+PrintStubCode",
            "-XX:+PrintCompilation",
            "-XX:+PrintInlining",
            "-XX:+TraceClassLoading",
            "-XX:PrintAssemblyOptions=syntax",
            "-XX:PrintAssemblyOptions=intel"
    ]
     */

    //duplicateClassesStrategy DuplicatesStrategy.INCLUDE
}