#!/bin/bash
# Usage:
# scripts/perf_bench_lake.sh [iterations]
#
# Environment:
# BENCH_ARGS Extra args for benchmark (default: --no-render)
# PERF_RESULTS_ROOT Results root dir (default: perf)
# PERF_RUN_LABEL Label for run (default: HHMMSS)
#
# Example:
# BENCH_ARGS="--case search-bloom --lines 800 --line-len 120 --no-render" scripts/perf_bench_lake.sh 2000
ITERATIONS="10000"
BENCH_ARGS=""
PERF_CASES=""
case_list=""
iter_set="0"
while [; do
case "" in
-n|--iterations)
ITERATIONS=""
iter_set="1"
;;
--case)
case_list=","
;;
--cases)
PERF_CASES=""
;;
-h|--help)
;;
*)
if && [; then
ITERATIONS=""
iter_set="1"
else
fi
;;
esac
done
if [; then
case_list=""
if [; then
PERF_CASES=","
else
PERF_CASES=""
fi
fi
RESULTS_ROOT=""
RUN_LABEL=""
DATE_DIR="/"
REPORT_DIR="/report"
PERF_DATA="/perf-bench-.data"
PERF_REPORT="/perf-bench-.log"
FLAME_DIR="/flamegraph"
PERF_FOLDED="/perf-bench-.folded"
FLAMEGRAPH_SVG="/flamegraph-bench-.svg"
FLAMEGRAPH_DIR=""
STACKCOLLAPSE_BIN=""
FLAMEGRAPH_BIN=""
if [; then
fi
# 1. Build bench
# 2. Check for perf
if ! ; then
fi
# 3. Prepare output directories
# 4. Run perf record using lake exe bench -- <iterations> <args>
if [; then
IFS=','
for; do
c_trim=""
if [; then
continue
fi
case "" in
linear) norm="search-linear" ;;
bloom) norm="search-bloom" ;;
*) norm="" ;;
esac
done
else
fi