Go-native benchmarking lab for comparing:
impl-schubfach(lattice-substrate/jcs-schubfach)impl-json-canon(lattice-substrate/json-canon)impl-schubfach-rs(lattice-substrate/jcs-schubfach-rs)impl-json-canon-rs(lattice-substrate/json-canon-rs)
All implementations are treated as black-box competitors.
go run ./cmd/lab smokeThis single command will:
- Build selected CLI binaries into
bin/(default: all Go+Rust impls) - Capture environment metadata into
results/latest-env.txt - Generate expanded workload + canonical fixture corpus into
workloads/ - Run authoritative conformance matrix with case IDs
- Run repeated CLI benchmarks with randomized order
- Emit raw/summarized/stats/report outputs into
results/
go run ./cmd/lab setup
go run ./cmd/lab setup -lang go
go run ./cmd/lab setup -lang rust
go run ./cmd/lab gen-workloads
go run ./cmd/lab conformance
go run ./cmd/lab conformance -lang rust
go run ./cmd/lab conformance -impl schubfach-rs
go run ./cmd/lab bench-cli -track e2e -repeats 9 -warmup 2 -seed 42
go run ./cmd/lab bench-cli -lang go
go run ./cmd/lab bench-cli -lang rust
go run ./cmd/lab bench-cli -track cli-algorithmic -repeats 9 -warmup 2
go run ./cmd/lab bench-cli -track verify-only -repeats 9 -warmup 2
go run ./cmd/lab bench-api -count 7
go run ./cmd/lab fuzz -cases 1000 -seed 123
go run ./cmd/lab stats -alpha 0.05 -resamples 2000
go run ./cmd/lab benchstat
go run ./cmd/lab profile-api -count 1 -benchtime 1s
go run ./cmd/lab gate -fuzz results/latest-fuzz.json -baseline results/baseline-stats.json
go run ./cmd/lab reportResults are always written under results/ with timestamped files and latest-* pointers.
# assumes setup + workload generation already complete
go run ./cmd/lab conformance
go run ./cmd/lab bench-cli -track verify-only -repeats 7 -warmup 1
go run ./cmd/lab fuzz -cases 500
go run ./cmd/lab stats
go run ./cmd/lab bench-api -count 3
go run ./cmd/lab benchstat -allow-fallback=false
go run ./cmd/lab gate -fuzz results/latest-fuzz.json -baseline results/baseline-stats.json
go run ./cmd/lab reportThis emits:
results/latest-conformance.json(authoritative oracle pass/fail by case ID)results/latest-cli-runs.csv,results/latest-cli-summary.csv,results/latest-quality.jsonresults/latest-stats.json,results/latest-stats.mdresults/latest-benchstat.mdresults/latest-api-prof-*.txt,results/latest-api-prof-*-cpu.pprof,results/latest-api-prof-*-mem.pprofresults/latest-api-profile-analysis.mdresults/latest-report.mdand updatesREPORT.md