eb81856565
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
Bux benchmarks (E.5)
Micro-kernels + optional Nexus HTTP throughput for regression and language comparison.
Quick run
# From repo root
make bench # Bux micro + C + Nim (+ Zig if installed)
make bench-nexus # wrk vs apps/nexus /api/health
BENCH_NEXUS=1 make bench
Micro suites
| Suite | Kernels | Build |
|---|---|---|
micro/ |
Bux: int_loop, fib30, string_concat, array_push |
buxc build |
c/ |
C: fib30, int_loop |
gcc -O2 |
nim/ |
Nim twins | nim c -d:release --opt:speed |
zig/ |
Zig twins (optional) | zig build-exe -OReleaseFast |
Output lines:
BENCH <name> iters=N total_us=T us_per_op=P
Nexus throughput
tools/bench_nexus.sh / make bench-nexus:
- Builds
apps/nexus - Starts on
NEXUS_PORT(default 18080), bind127.0.0.1 wrk -t4 -c64 -d5sagainst/api/health- Prints
BENCH nexus_health rps=…
Env knobs:
| Variable | Default | Meaning |
|---|---|---|
NEXUS_PORT |
18080 |
Listen port (also used by the server binary) |
NEXUS_WORKERS |
4 |
Worker threads |
NEXUS_BENCH_DURATION |
5s |
wrk -d |
NEXUS_BENCH_C |
64 |
wrk connections |
NEXUS_BENCH_T |
4 |
wrk threads |
Server-side (any nexus run):
NEXUS_PORT,NEXUS_WORKERS,NEXUS_BIND,NEXUS_PUBLIC
Notes
- Numbers vary by machine; use them relatively (same host, same day).
- Nexus currently closes connections (
Connection: close) — RPS is honest for that model, not keep-alive maxed. - Requires
wrkforbench-nexus(apt install wrkon Debian/Ubuntu).