Skip to content

Add evidence-based frontend performance harness - #735

Draft
dimaip wants to merge 11 commits into
dimaip/frontend-performance-runtimefrom
dimaip/frontend-modernization
Draft

Add evidence-based frontend performance harness#735
dimaip wants to merge 11 commits into
dimaip/frontend-performance-runtimefrom
dimaip/frontend-modernization

Conversation

@dimaip

@dimaip dimaip commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Stack

This is PR 3 of 3 and targets the runtime-performance branch. Merge the stack from the bottom up.

  1. Frontend foundations and tooling — #733
  2. Frontend runtime and service performance — #734
  3. Performance measurement and evidence harness — this PR

What changed

  • Adds keyed application milestones for startup, date readiness, long services, TOC, language transitions, and stable above-fold rendering.
  • Adds installed-like persistent-profile scenarios for returning startup, cold/warm process launches, offline direct loads, real touch gestures, language switching, and retention cycles.
  • Captures CDP metrics, traces, Event Timing, frame pacing, semantic render keys, heap/listener/observer growth, and immutable build fingerprints.
  • Rejects timing comparisons made under incompatible CPU capacity or excessive host contention.
  • Adds a deterministic, hash-verified third-party runtime replay and a fail-closed production fixture capture command.
  • Records the rejected precache scheduling experiments; immediate precaching remains unchanged.
  • Stores the older-phone execution backlog, thresholds, evidence, decisions, and handoff notes in versioned documentation.

Why

Bundle size alone does not describe the experience on older phones. The app needed repeatable evidence for installed returning startup, long-service completion, transitions, scrolling, touch responsiveness, offline correctness, and retained memory before making further product changes.

Evidence and limitations

  • The performance harness suite passes 47/47 tests, including a real persistent-Chromium service-worker isolation test.
  • BrowserTracing removal saves 29,513 raw bytes / 8,726 gzip bytes in the isolated candidate, but that product change is not included because clean latency evidence is still blocked by host load.
  • The production vendor fixture contains five validated decoded bodies totaling 1,629,159 bytes; it is a CPU replay input, not a transfer/network model.
  • Route-ready and idle precache variants were measured slower and fully reverted.
  • Backend, product service-worker code, Capacitor, and TWA behavior are untouched.

Validation

  • yarn test:performance — 47/47 passing.
  • Production bundle reports and installed browser smoke artifacts.
  • Prettier, Node syntax, report-integrity, fixture-provenance, and diff checks.
  • Fail-fast live proof that contaminated runs create no benchmark artifact.

@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
calendar Ready Ready Preview Aug 6, 2026 2:20pm

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