---
title: "Performance report"
description: "Review reproducible query, serialization, and client bundle benchmarks."
image: "https://adonia.pages.dev/og.png"
version: "next"
---

> Documentation Index
> Fetch the complete documentation index at: https://adonia.pages.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Performance report

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](/performance-report.json) 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

```sh
pnpm perf
```

The 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.

Source: https://adonia.pages.dev/performance/index.mdx
