Skip to content

Bench: Add clean-heap and forced-GC krausest update probes#235

Merged
jlukic merged 1 commit into
mainfrom
bench/krausest-gc-diagnostic
Jun 5, 2026
Merged

Bench: Add clean-heap and forced-GC krausest update probes#235
jlukic merged 1 commit into
mainfrom
bench/krausest-gc-diagnostic

Conversation

@jlukic

@jlukic jlukic commented Jun 5, 2026

Copy link
Copy Markdown
Member

Temporary diagnostic for #223. That PR's per-AST binding-plan cache regresses update-10th-50 by +45% on krausest across two runs, yet the changed code never executes during that op. The leading explanation is suite-ordering GC pressure: update-10th-50 runs after create-1k / create-10k / replace-1k / append-1k in one page load, and the cache shifts the heap trajectory those create-heavy ops leave behind.

Two probes pin it down. Both are read from the same single page run tachometer already does, so no extra config.

  • update-isolated-50 runs the identical update workload first, on a clean heap with no create-heavy ops before it.
  • update-gc-50 runs it in place but forces a full GC right before the measure. Needs --js-flags=--expose-gc, added to the krausest config.

The read on #223's bench run: if update-10th-50 regresses while update-isolated-50 and update-gc-50 stay flat, the cost is reclaimable GC pressure from op ordering, not a per-user regression.

Reverted once #223's run has read these. Bench harness is pinned from main, so #223 picks these up automatically on its next run.

@vercel

vercel Bot commented Jun 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
semantic-next Ready Ready Preview, Comment Jun 5, 2026 4:31pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
mcp Ignored Ignored Jun 5, 2026 4:31pm

Request Review

@jlukic jlukic merged commit ec473bf into main Jun 5, 2026
14 checks passed
@jlukic jlukic deleted the bench/krausest-gc-diagnostic branch June 5, 2026 16:32
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