Skip to content

perf(analysis): reuse projections and analyze corpus cases once - #198

Merged
zhen8838 merged 4 commits into
tile-ai:mainfrom
zhen8838:perf/analysis-corpus
Oct 1, 2026
Merged

zhen8838 merged 4 commits into
tile-ai:mainfrom
zhen8838:perf/analysis-corpus

Conversation

@zhen8838

@zhen8838 zhen8838 commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Why

What

  • Cache projected access relations on the scope that records the call, keyed by call identity and topology level. Scope construction, memory, footprint, view folding, and allocation alias proofs share the cache.
  • Partition the 72 corpus cases into 64 CLI cases and 8 API cases. Each case runs one analysis of all four families; both paths use the same report checks and retain every expected memory peak. API cases share one additional scope tree for internal checks.
  • Full verification and benchmark on frozen bb4472aa: source 1332 passed, 10 skipped in 150.53s with 8 workers, compared with the recorded 315s baseline (runner wall time: 154s); installed wheel 162 passed in 273.79s (runner wall time: 287s). Both manifests have zero failures/errors; pre-commit passed.
  • Focused verification: 484 passed across analysis, schedule, CLI, and inspection (rv1-analysis); pre-commit passed.
  • Worst corpus case: 39.1s → 10.3s. The analysis corpus file occupies 1 of the slowest 6 source tests.
  • cProfile: the old complete case accumulated 3106 projected calls across two analyses and three scope builds; a new CLI case runs one analysis with 570 = 190 calls × 3 windows. An additional standalone scope build needs 190 projections.

Contract

None.

Risk

  • Timing comparisons use the recorded baseline and a shared development machine.

Comment thread docs/spec/analysis.md Outdated
@zhen8838
zhen8838 merged commit 706c30b into tile-ai:main Oct 1, 2026
3 checks passed
@zhen8838
zhen8838 deleted the perf/analysis-corpus branch October 1, 2026 10:22
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.

perf(tests): cut the time the analysis corpus takes

1 participant