#!/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