Files
javademos/jdk27-perf/scripts/run-all.sh
T
asmhatreandClaude Sonnet 5.5 d565be93c6 Add jdk27-perf: the same Spring Boot service measured on JDK 25 and JDK 27
Live heap, throughput, p99 and startup across four configurations, including opt-in and opt-out of
compact object headers.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01WzVQ6zFh9cuLPj9RSbRH8U
2026-10-12 17:30:55 +00:00

36 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# Regenerates output/. Set J25 and J27. REPS defaults to 3. Configs are interleaved per repetition
# so slow drift on the machine hits every configuration equally. Timings are indicative only.
set -u
HERE="$(cd "$(dirname "$0")" && pwd)"
OUT="$HERE/../output"; mkdir -p "$OUT"
: "${J25:?}" "${J27:?}"
export JDK_CLIENT="$J25"
REPS=${REPS:-3}
{
for p in "25|$J25" "27|$J27"; do
v=${p%%|*}; h=${p#*|}
echo "== JDK $v"
"$h/bin/java" -version 2>&1 | grep -v Picked | sed -n 1p
"$h/bin/java" -XX:+PrintFlagsFinal -version 2>&1 | grep -E ' (UseCompactObjectHeaders|UseG1GC|UseSerialGC|UseZGC|MaxHeapSize) ' | sed 's/ \{2,\}/ /g'
echo
done
} > "$OUT/01-defaults.txt"
: > "$OUT/02-runs.txt"
for r in $(seq 1 "$REPS"); do
"$HERE/run-one.sh" "$J25" "jdk25 defaults" >> "$OUT/02-runs.txt" 2>&1
"$HERE/run-one.sh" "$J25" "jdk25 +CompactObjectHeaders" -XX:+UseCompactObjectHeaders >> "$OUT/02-runs.txt" 2>&1
"$HERE/run-one.sh" "$J27" "jdk27 defaults" >> "$OUT/02-runs.txt" 2>&1
"$HERE/run-one.sh" "$J27" "jdk27 -CompactObjectHeaders" -XX:-UseCompactObjectHeaders >> "$OUT/02-runs.txt" 2>&1
done
"$HERE/summarize.sh" "$OUT/02-runs.txt" > "$OUT/03-summary.txt"
# 04 - resident data set after a forced full GC (this is where compact headers show up)
{
for r in 1 2 3; do
"$HERE/live-set.sh" "$J25" "jdk25 defaults"
"$HERE/live-set.sh" "$J25" "jdk25 +CompactObjectHeaders" -XX:+UseCompactObjectHeaders
"$HERE/live-set.sh" "$J27" "jdk27 defaults"
"$HERE/live-set.sh" "$J27" "jdk27 -CompactObjectHeaders" -XX:-UseCompactObjectHeaders
done
} > "$OUT/04-live-set.txt" 2>&1