Generated from real implementation paths at 2026-07-27T06:30:14.189Z.
Runtime: Node v26.5.0 on linux 6.8.0-124-generic (vmi3453501).
Every timed benchmark uses 2 warmups and validates its result invariants on every run. Values below are observed medians and p95; durable raw JSON evidence includes every sample.
| Benchmark | Real path / shape | Median | p95 | Target | Result |
|---|---|---|---|---|---|
| 50-field descriptor cold compile | 50 text fields in one compiled schema | 0.591 ms | 0.742 ms | < 25 ms (p95) | pass |
| 50-field descriptor cache hit | same resource/key, fresh protocol tree | 0.207 ms | 0.333 ms | < 1 ms (median) | pass |
| 100-column / 100k-row production index | buildIndexPipeline eager-load path + serializeIndexPage in bounded 1k-row pages | 6529.455 ms | 6764.909 ms | reported | observed |
| 100-column / 100k-row CSV export | streaming exportCsv; every output chunk consumed | 5482.673 ms | 7332.559 ms | reported | observed |
| Database-backed N+1 query sweep | buildIndexPipeline + Knex/better-sqlite3 count/select/preload at 5 and 1000 rows | 3.000 queries | 3.000 queries | = 3 queries (median) | pass |
| Widget grouped deferred request | 20 CustomWidgets through DashboardController + Inertia defer boundary | 1.000 requests | 1.000 requests | = 1 requests (median) | pass |
| UI table server render | DataTable with 100 columns × 100 rows via React SSR | 815.650 ms | 1325.515 ms | reported | observed |
| Base panel bundle gzip | scaffolded panel entry, React/Inertia external | 57430.000 bytes | 57430.000 bytes | <= 180000 bytes (median) | pass |
| Static lazy-editor leaks | 4 lazy chunks audited | 0.000 modules | 0.000 modules | = 0 modules (median) | pass |
| Missing mandatory lazy editors | code/image/rich-text modules required in lazy graph | 0.000 modules | 0.000 modules | = 0 modules (median) | pass |
Reproduce
pnpm perfThe command regenerates this page, .performance/report.{json,md}, and docs/public/performance-report.json, and exits non-zero when a normative TECH_SPEC §18 gate fails. Timing figures are environment-specific; query, grouping, lazy-loading, and bundle limits are invariant gates.