Skip to content

benchmark

benchmark #207

Workflow file for this run

name: benchmark
on: workflow_dispatch
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: graalvm/setup-graalvm@v1
with:
version: latest
java-version: 11
components: native-image
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: build
run: mvn -B package
- name: build native image
run: native-image --install-exit-handlers --static --no-fallback -jar unknow-server-test/unknow-server-test-jar/target/server.jar server-native
- name: bench
run: java -jar unknow-server-bench/target/benchmark.jar
- uses: actions/upload-artifact@v4
if: always()
with:
name: server
path: |
unknow-server-test/unknow-server-test-jar/target/server.jar
server-native
unknow-server-test/*/target/*.war
test:
runs-on: ubuntu-latest
strategy:
matrix:
t: ['cxf', 'tomcat', 'unknow', 'native']
needs: build
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: server
- uses: graalvm/setup-graalvm@v1
with:
version: latest
java-version: 11
components: native-image
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: prepare test
run: bash bench/prepare.sh
- name: run bench
run: bash bench/run.sh ${{matrix.t}}
env:
CATALINA_HOME: "${{github.workspace}}/tomcat/"
JMETER: "${{github.workspace}}/jmeter/bin/jmeter"
- uses: actions/upload-artifact@v4
if: always()
with:
name: logs-${{matrix.t}}
path: logs/*
- uses: actions/upload-artifact@v4
if: always()
with:
name: results-${{matrix.t}}
path: out/*
result:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
pattern: results-*
path: out/
merge-multiple: true
- name: result
run: bash bench/result.sh out