AtomicLong/LongAdder/VarHandle counters benchmarked against the synchronized and ReentrantLock baselines from the locks module, a deterministic ABA race against a hand-rolled Treiber stack plus the AtomicStampedReference fix, and a VarHandle access-modes demo (plain/opaque/acquire-release/volatile). Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01FhzLY5p6okFva3qsnsRyvM
14 lines
370 B
Bash
Executable File
14 lines
370 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Quick ad hoc JMH run against one benchmark class. Example:
|
|
# ./scripts/run.sh IncrementBenchmark -t 8
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
|
|
BENCH="${1:?Usage: run.sh <BenchmarkClassName> [extra jmh args]}"
|
|
shift || true
|
|
|
|
JAR=target/benchmarks.jar
|
|
[ -f "$JAR" ] || { echo "Run 'mvn package' first."; exit 1; }
|
|
|
|
java -jar "$JAR" "$BENCH" "$@"
|