5dd21dea
c_runtime: parity gate — test-c / test-all / bench-c (43t)
Adds the C-acceleration parity gate that bd-43t mandates: every test
asserts against a reference output (golden bytes, txtpb, conformance
result), so passing the same suite under both `PB_ENABLE_C=1` and the
default Lua codec proves Lua ≡ C by transitivity. No separate diff
harness needed.
Justfile recipes:
- `test-c` — same luatest suite with PB_ENABLE_C=1 (1043 tests;
unlocks the c_runtime_* groups via build-c)
- `test-all` — `test` + `test-c` (parity gate)
- `bench-c` — bench.lua under PB_ENABLE_C=1; runtime column is
relabelled `c-runtime`. Also tidies build-c — the stale
"directory doesn't exist yet" branch goes away now that
ra6 has landed.
bench.lua: extends package.cpath so `require('pb.c_runtime')` finds
runtime/pb/c_runtime.{so,dylib} when invoked outside the Justfile.
Detects `PB_ENABLE_C=1`, renames `runtime` → `c-runtime` in the
output, and refuses --baseline / --compare (alloc shape differs
between codecs by design — would noise the gate).
README: documents the parity strategy and lists `test-all`,
`conformance-c`, `bench-c` as the dual-codec entry points.
Scope notes: c-generated column dropped (c0i is deferred per
docs/c-accel.md); starwing column already lives in
bench/starwing_bench.lua.
bd-43t
Eugene Blikh <bigbes@gmail.com> — 2026-05-23 20:04:45 UTC
Commit 5dd21dea0c18f5e129fc729f32cdcc56d7050c40 —
view raw patch
Parent(s):
5cc94314
| File | Status | + | − |
|---|---|---|---|
Justfile
|
M | +24 | -9 |
README.md
|
M | +21 | |
bench/bench.lua
|
M | +35 | -1 |