aboutsummaryrefslogtreecommitdiff
path: root/jdk9-specjbb2013-benchmark.yaml
blob: aa5c77947fe0ebac7a439d9d02618045a6c5f635 (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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
- job:
    name: jdk9-specjbb2013-benchmark
    project-type: matrix
    defaults: global
    description: |
        * Runs the specjbb benchmark in composite mode (i.e., single VM, single node).
    logrotate:
        numToKeep: 10
        artifactNumToKeep: 1
    properties:
        - authorization:
            linaro:
                - job-read
    disabled: false
    node: aarch64-06
    display-name: 'OpenJDK 9 - Run SPECjbb2013 benchmark'
    axes:
        - axis:
            type: user-defined
            name: JVM_VARIANT
            values:
                - server
#                - client
        - axis:
            type: user-defined
            name: BUILD_TYPE
            values:
                - release
        - axis:
            type: slave
            name: label
            values:
                - aarch64-06
    execution-strategy:
        sequential: true
    wrappers:
        - workspace-cleanup:
            dirmatch: false
        - timestamps
        - matrix-tie-parent:
            node: aarch64-06
    builders:
# copyartifact is slow and the file is local
# copy instead of going back and forth between master <-> slave
#        - copyartifact:
#            project: jdk9-build-image
#            filter: 'out/jdk9-${JVM_VARIANT}-${BUILD_TYPE}.tar.gz'
#            target: incoming
#            flatten: true
        - copyartifact:
            project: archive-specjbb2013-product-tarball
            filter: 'out/SPECjbb2013-1.00.tar.gz'
            target: incoming
            flatten: true
        - shell: |
            #!/bin/bash

            set -exu

            ## Extract jdk
            tar xf ~/workspace/jdk9-build-image/BUILD_TYPE/${BUILD_TYPE}/JVM_VARIANT/${JVM_VARIANT}/label/${NODE_NAME}/out/jdk9-${JVM_VARIANT}-${BUILD_TYPE}.tar.gz
            export JAVA_HOME=${WORKSPACE}/jdk9-${JVM_VARIANT}-${BUILD_TYPE}
            export PATH=$JAVA_HOME/bin:$PATH
            which java
            java -version

            ## Extract specjbb2013 product
            #(cd incoming; wget -nv http://openjdk-apm1/openjdk8-build-artefacts/SPECjbb2013-1.00.tar.gz)
            tar xf incoming/SPECjbb2013-1.00.tar.gz

            ## Run test

            SPECJBB_PRODUCT_HOME=SPECjbb2013-1.00

            # This commented-out invocation is a quick test that
            # takes about 10 minutes to complete - which can be
            # useful when debugging.

            #(cd $SPECJBB_PRODUCT_HOME; \
            # time java \
            #   -Dspecjbb.controller.rtcurve.duration.min=500 \
            #   -Dspecjbb.controller.rtcurve.duration.max=1500 \
            #   -Dspecjbb.controller.type=PRESET \
            #   -Dspecjbb.controller.preset.ir=4000 \
            #   -Dspecjbb.controller.preset.duration=100 \
            #   -jar specjbb2013.jar -m composite)

            (cd $SPECJBB_PRODUCT_HOME; java -XX:+UseLargePages -XX:-UseBiasedLocking -Xmx12g -Xms12g -XX:+UseParallelOldGC -jar specjbb2013.jar -m composite)

            mkdir -p out

            datafile=$(basename $(echo $SPECJBB_PRODUCT_HOME/specjbb*.data.gz) | sed "s/\(specjbb2013\)/\1-${JVM_VARIANT}-${BUILD_TYPE}/")

            cp $SPECJBB_PRODUCT_HOME/specjbb*.data.gz out/$datafile

            java -jar $SPECJBB_PRODUCT_HOME/specjbb2013.jar \
              -m REPORTER \
              -raw $SPECJBB_PRODUCT_HOME/config/template-M.raw \
              -p $SPECJBB_PRODUCT_HOME/config/specjbb2013.props \
              -s $SPECJBB_PRODUCT_HOME/specjbb2013-C-*.data.gz \
              -l 1

            tar -acf out/specjbb-result-${JVM_VARIANT}-${BUILD_TYPE}.tar.gz result

            rm -rf html
            mkdir html
            cp -a result/**/report-00001/* html
            cp html/*0001.html html/index.html
    publishers:
        - archive:
            artifacts: 'out/*.gz'
        - html-publisher:
            name: 'HTML Report'
            dir: 'html'
            files: 'index.html'
            keep-all: true