Files
hakmem/benchmarks/scripts/comprehensive/run_comprehensive_pair.sh

32 lines
1017 B
Bash
Raw Normal View History

#!/usr/bin/env bash
set -euo pipefail
# Run comprehensive bench for HAKMEM (direct) and mimalloc (direct) and parse to CSV
# Usage: scripts/run_comprehensive_pair.sh
ROOT_DIR=$(cd "$(dirname "$0")/.." && pwd)
cd "$ROOT_DIR"
TS=$(date +%Y%m%d_%H%M%S)
OUTDIR="bench_results/comp_pair_${TS}"
mkdir -p "$OUTDIR"
echo "[build] HAKMEM + mi direct-link…"
make -s bench_fast >/dev/null
make -s bench_comprehensive_mi >/dev/null
echo "[run] HAKMEM (direct)"
HAKMEM_TINY_TLS_SLL=${HAKMEM_TINY_TLS_SLL:-1} \
HAKMEM_TINY_MAG_CAP=${HAKMEM_TINY_MAG_CAP:-128} \
HAKMEM_WRAP_TINY=1 \
./bench_comprehensive_hakmem | tee "$OUTDIR/hakmem.log" >/dev/null
echo "[run] mimalloc (direct)"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:-}:$ROOT_DIR/mimalloc-bench/extern/mi/out/release"
./bench_comprehensive_mi | tee "$OUTDIR/mimalloc.log" >/dev/null
echo "[parse] to CSV"
python3 scripts/parse_comprehensive_logs.py "$OUTDIR" > "$OUTDIR/summary.csv"
echo "[done] CSV: $OUTDIR/summary.csv"
sed -n '1,60p' "$OUTDIR/summary.csv" || true