Skip to content

bench: typecheck_scaling — schema-size × query-size scaling of the type checker - #94

Merged
Felipe705x merged 1 commit into
mainfrom
bench/typecheck-scaling-main
Sep 2, 2026
Merged

bench: typecheck_scaling — schema-size × query-size scaling of the type checker#94
Felipe705x merged 1 commit into
mainfrom
bench/typecheck-scaling-main

Conversation

@Felipe705x

Copy link
Copy Markdown
Collaborator

Mergeable port of the pinned-baseline benchmark (#93) onto current main: identical instrument, cases, and protocol; imports under the current lib name. #93 stays open-unmerged as the fixed v0.2.0 reference; this one lives with the code going forward — after any future checker change, running both gives a before/after scaling comparison on the identical instrument.

  • Cases: from internal_bench.rsv_chain_knows, e_bad_edge_deep, e_label_only, byte-identical after renaming labels into the synthetic universe (Person→L0, knows→e0, Wagumi→NoSuchLabel); the chain is parameterized in k (1–16) by inserting intermediate nodes only.
  • Schema family: homogeneous, parameterized by total entry count S; 1:2 node:edge ratio matching the measured LDBC inferred schema (36 entries, identical in SF0.1 and SF0.3 — the inferred schema is scale-invariant, hence the synthetic family). Suggested ladder: 16–1024 (powers of two) + 36 as the LDBC anchor.
  • Protocol: parse/elaborate outside the timed loop; median of ≤4000 iterations under a 200 ms/case budget; verdicts asserted every run; ≥3 interleaved sweeps aggregated by medians.

Smoke-tested on this branch (all verdicts correct). cargo clippy clean on the new bin.

🤖 Generated with Claude Code

@Felipe705x
Felipe705x force-pushed the bench/typecheck-scaling-main branch from 81e7cb6 to 0b5d015 Compare September 2, 2026 00:25
…pe checker

Runtime-independent microbenchmark of Typechecker::check_query over a
homogeneous synthetic schema family (schema size is the controlled
variable; 1:2 node:edge ratio matching the measured LDBC inferred
schema, 36 entries in both SF0.1 and SF0.3). Cases from
internal_bench.rs — v_chain_knows, e_bad_edge_deep, e_label_only,
byte-identical after renaming labels into the synthetic universe — with
the chain parameterized in k by inserting intermediate nodes. Median
timing under an adaptive per-case budget; verdicts asserted every run.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Felipe705x
Felipe705x force-pushed the bench/typecheck-scaling-main branch from 0b5d015 to d24f7ad Compare September 2, 2026 00:33
@Felipe705x
Felipe705x merged commit 4ca0752 into main Sep 2, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant