Skip to content

Benchmark

Benchmark #1

Workflow file for this run

name: Benchmark
on:
workflow_dispatch:
schedule:
- cron: '0 18 * * 6'
permissions:
contents: read
concurrency:
group: benchmark-${{ github.ref }}
cancel-in-progress: true
jobs:
serialization-benchmark:
name: Serialization Benchmark
runs-on: ubuntu-24.04
timeout-minutes: 20
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Set up JDK 17
uses: actions/setup-java@v6
with:
java-version: '17'
distribution: 'temurin'
cache: 'maven'
- name: Build benchmark module
run: mvn -B -ntp -pl rpc-benchmark -am clean package -DskipTests -Drpc.registry=local
- name: Run JMH serialization benchmark
run: >-
java -jar rpc-benchmark/target/benchmarks.jar
'.*SerializationBenchmark.*'
-f 1
-wi 1
-i 2
-rf json
-rff benchmark-results.json
- name: Upload benchmark result
if: always()
uses: actions/upload-artifact@v7
with:
name: serialization-benchmark
retention-days: 30
if-no-files-found: error
path: benchmark-results.json