feat: HTTP registry, app/bench harnesses, and DWARF #line maps
Ship QUALITY_PLAN sessions 31–33: fetchable package index URLs, showcase app and micro/nexus benchmarks, and debugger-friendly C codegen. - Registry: BUX_REGISTRY accepts http(s) URLs (curl/wget → ~/.bux/cache) - E.2: make test-apps smoke for nexus/boko/simpledb/jwt-pitbul - E.5: benches/micro + C/Nim/Zig twins; make bench-nexus (wrk) - E.4: HIR locs → #line .bux; default -O0 -g; --release -O2; make test-dwarf
This commit is contained in:
Executable
+67
@@ -0,0 +1,67 @@
|
||||
#!/usr/bin/env bash
|
||||
# Run Bux micro-benchmarks + language twins (C / Nim / optional Zig). E.5
|
||||
set -euo pipefail
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
BUXC="$ROOT/buxc"
|
||||
RUN_NEXUS="${BENCH_NEXUS:-0}"
|
||||
|
||||
if [[ ! -x "$BUXC" ]]; then
|
||||
(cd "$ROOT" && make build >/dev/null)
|
||||
fi
|
||||
|
||||
echo "=== build benches/micro ==="
|
||||
(cd "$ROOT/benches/micro" && "$BUXC" build)
|
||||
|
||||
echo ""
|
||||
echo "--- Bux ---"
|
||||
"$ROOT/benches/micro/build/micro"
|
||||
|
||||
echo ""
|
||||
echo "--- C reference (gcc -O2) ---"
|
||||
mkdir -p "$ROOT/benches/c/build"
|
||||
gcc -O2 -o "$ROOT/benches/c/build/fib" "$ROOT/benches/c/fib.c"
|
||||
gcc -O2 -o "$ROOT/benches/c/build/int_loop" "$ROOT/benches/c/int_loop.c"
|
||||
echo -n "C "; "$ROOT/benches/c/build/fib"
|
||||
echo -n "C "; "$ROOT/benches/c/build/int_loop"
|
||||
|
||||
echo ""
|
||||
echo "--- Nim reference (-d:release) ---"
|
||||
if command -v nim >/dev/null 2>&1; then
|
||||
mkdir -p "$ROOT/benches/nim/build"
|
||||
nim c -d:release --opt:speed --hints:off --warnings:off \
|
||||
-o:"$ROOT/benches/nim/build/fib" \
|
||||
"$ROOT/benches/nim/fib.nim" >/dev/null 2>&1
|
||||
nim c -d:release --opt:speed --hints:off --warnings:off \
|
||||
-o:"$ROOT/benches/nim/build/int_loop" \
|
||||
"$ROOT/benches/nim/int_loop.nim" >/dev/null 2>&1
|
||||
echo -n "Nim "; "$ROOT/benches/nim/build/fib"
|
||||
echo -n "Nim "; "$ROOT/benches/nim/build/int_loop"
|
||||
else
|
||||
echo "(nim not installed — skip)"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "--- Zig reference (-OReleaseFast) ---"
|
||||
if command -v zig >/dev/null 2>&1; then
|
||||
mkdir -p "$ROOT/benches/zig/build"
|
||||
(cd "$ROOT/benches/zig" && zig build-exe -OReleaseFast -femit-bin=build/fib fib.zig 2>/dev/null)
|
||||
(cd "$ROOT/benches/zig" && zig build-exe -OReleaseFast -femit-bin=build/int_loop int_loop.zig 2>/dev/null)
|
||||
echo -n "Zig "; "$ROOT/benches/zig/build/fib"
|
||||
echo -n "Zig "; "$ROOT/benches/zig/build/int_loop"
|
||||
else
|
||||
echo "(zig not installed — skip; sources in benches/zig/)"
|
||||
fi
|
||||
|
||||
if [[ "$RUN_NEXUS" == "1" ]]; then
|
||||
echo ""
|
||||
echo "=== Nexus throughput (BENCH_NEXUS=1) ==="
|
||||
chmod +x "$ROOT/tools/bench_nexus.sh"
|
||||
"$ROOT/tools/bench_nexus.sh"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
if [[ "$RUN_NEXUS" == "1" ]]; then
|
||||
echo "PASS: bench (Bux + language twins + nexus)"
|
||||
else
|
||||
echo "PASS: bench (Bux + language twins)"
|
||||
fi
|
||||
Reference in New Issue
Block a user