Skip to content

Annotation Form v1 Performance Baseline

This benchmark records the local-development baseline for the v1 annotation form before the AF2 Track 0 quick wins.

Results

Date Commit Machine Initial render Keystroke-to-paint p95 Tab switch
2026-08-04 72f38768c local dev 4461 ms 93 ms 388 ms

Seeded shape

The Playwright scenario creates one study and 100 textbox annotation questions: 60 Study questions and 40 Cohort questions. The cohort set has 20 root questions and 20 child questions whose Target.ParentId values each point to a root. It then creates 15 cohort units through the annotation UI before sampling keystroke-to-paint and tab-switch latency.

Invocation

From e2e/, with the local E2E infrastructure and .NET services running:

pnpm test:perf

The test attaches the three metrics as perf JSON to the Playwright result and also prints them with console.table.

Post-Track-0 re-measure — deferred (2026-08-04)

The full web suite is green on the completed branch (209 files / 1395 tests). The same-machine benchmark re-run was blocked by local environment constraints (NSwag's ASP.NET Core 8 runtime requirement on API Release builds — work around with -p:GenerateOpenApi=false — and delegate-sandbox process-lifecycle limits). Empirical validation of the benchmark and the e2e seeding paths runs on CI via the run:e2e-full label on PR #2695. The program plan requires a fresh baseline on the Angular 22 platform after Phase 1 lands, which supersedes a local pre/post delta.