Files
zgc-jdk25-benchmarks/shenandoah-jdk28/scripts/run-all.sh
T

22 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# Regenerates everything in output/.
# export J25=/path/to/temurin-25 J28=/path/to/temurin-28-ea (both must include Shenandoah: use Temurin, not the jdk.java.net builds)
# mvn -B -DskipTests package
# scripts/run-all.sh # 4 configurations x REPS runs, interleaved, about 2.5 minutes per run
#
# Env: REPS (default 3), RATE / WARMUP / MEASURE (see bench-one.sh)
set -eu
cd "$(dirname "$0")/.."
: "${J25:?set J25}" "${J28:?set J28}"
REPS=${REPS:-3}
./scripts/probe.sh > output/01-gc-mode-probe.txt 2>&1
: > output/02-runs.txt
for rep in $(seq 1 "$REPS"); do
# interleaved so slow drift on the machine hits every configuration alike
./scripts/bench-one.sh "$J28" g1 "$rep" -XX:+UseG1GC | tee -a output/02-runs.txt
./scripts/bench-one.sh "$J28" zgc "$rep" -XX:+UseZGC | tee -a output/02-runs.txt
./scripts/bench-one.sh "$J28" shenandoah-satb "$rep" -XX:+UseShenandoahGC -XX:ShenandoahGCMode=satb | tee -a output/02-runs.txt
./scripts/bench-one.sh "$J28" shenandoah-generational "$rep" -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational | tee -a output/02-runs.txt
done
python3 scripts/summarize.py output/02-runs.txt | tee output/03-summary.txt