Skip to content

perf: build declaration inlays from model facts - #3

Merged
deiteris merged 1 commit into
masterfrom
perf/service-model-inlays
Oct 10, 2026
Merged

deiteris merged 1 commit into
masterfrom
perf/service-model-inlays

Conversation

@deiteris

@deiteris deiteris commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Record authored type syntax through decoding and cloning.
  • Build declaration inlays from the snapshot's shared hover/model and typed-data indices, without source composition or grammar construction.
  • Preserve included-fragment, keyless-body, template and YAML-alias source boundaries.
  • Record the experiment, reproducible phase evidence and the accepted allocation-peak trade-off.

Performance

A/B against bb6941f, three alternating rounds/best of three: cold inlays are 27.4% faster (4.9% noise), with 34.8% lower peak and 30.2% lower retained allocation. Routine rebuild and both mixed sequence times stay within measured noise.

Snapshot-first mixed peak increases 10.0% (about 3.07 MB), with retained allocation +0.1%, an accepted construction-order overlap. Source-first peak and retained allocation are +0.1%. This is traced peak with the collector paused, not a 10% steady-memory claim.

Full report: docs/reports/2026-10-10/service-model-inlays.md.

Verification

  • Ruff checks and formatting, strict mypy, and full pytest: 5861 passed, 68 skipped, 1 xfailed; pinned TCK initialized.
  • Focused pure-Python YAML: 305 passed.
  • Inlay and both mixed-workload linearity checks pass; earlier noisy runs are retained in the report.
  • CI/platform checks must pass before merge.

Record authored type syntax through decoding and cloning. Reuse the snapshot's authored subjects and typed-data index without composing source or populating grammar for inlays. Preserve fragment and YAML-alias source boundaries.

A/B vs bb6941f, three rounds/best of three: inlays/unwrap time -27.4% (4.9% noise), peak -34.8%, kept -30.2%. Mixed times stay within noise; snapshot-first peak +10.0%, kept +0.1%, accepted as construction-order overlap. Source-first peak/kept +0.1%. large/service time stays within 13.0% noise, peak +0.4%, kept +0.6%.

Gate: Ruff, format, strict mypy, 5861 passed/68 skipped/1 xfailed. Focused pure-Python YAML: 305 passed. Inlay and both mixed linearity checks pass. Record the acceptance decision, workload boundaries, raw phase evidence and allocation attribution.
@deiteris
deiteris merged commit 91b80f1 into master Oct 10, 2026
20 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