Files
asmhatreandClaude Sonnet 5.5 db129fb1ce jmh-basics: JMH tutorial module (dead-code elimination, Blackhole, constant folding, warmup/forks, state scopes, -prof gc)
Eight benchmark/demo classes, a deterministic test suite, and 12 captured output files
generated by scripts/run-all.sh on JDK 25.0.5 (Temurin) with JMH 1.37.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017ic4b6Fj2JNt7dRev4pZPe
2026-11-08 18:31:11 +00:00

27 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Regenerates every file in output/. Takes roughly 6-8 minutes on a 2-vCPU host.
# Timing numbers drift from run to run; read the shape (which is bigger, by roughly how much).
set -euo pipefail
cd "$(dirname "$0")/.."
clean() { grep -vE 'JAVA_TOOL_OPTIONS|^Picked up|^WARNING|^# VM options:' || true; }
JAR="java -jar target/benchmarks.jar"
mvn -q -B package -DskipTests 2>&1 | clean
java -cp target/classes com.ankurm.jmhbasics.NaiveTimingDemo 2>&1 | clean > output/01-naive-timing.txt
$JAR DeadCodeBenchmark 2>&1 | clean > output/02-deadcode-jmh.txt
java -cp target/benchmarks.jar com.ankurm.jmhbasics.LifecycleDemo 2>&1 | clean > output/03-lifecycle.txt
$JAR ForkingBenchmark -f 0 -i 8 2>&1 | clean > output/04-forking-f0.txt
$JAR ForkingBenchmark -f 1 -i 8 2>&1 | clean > output/05-forking-f1.txt
$JAR StateScopeBenchmark 2>&1 | clean > output/06-state-scope.txt
$JAR AllocationBenchmark -prof gc 2>&1 | clean > output/07-allocation-gc.txt
$JAR SumBenchmark 2>&1 | clean > output/08-sum-param.txt
$JAR SortBenchmark -f 1 -wi 10 -w 200ms -i 5 -r 1s -bm avgt -tu us 2>&1 | clean > output/09-warmup-trace.txt
$JAR SortBenchmark -f 1 2>&1 | clean > output/10-sort-modes.txt
$JAR -lprof 2>&1 | clean > output/11-list-profilers.txt
mvn -q -B test 2>&1 | clean || true
cp target/surefire-reports/com.ankurm.jmhbasics.JmhBasicsTest.txt output/12-tests.txt
echo "Regenerated output/01-12."