How it works › Performance

Performance

Zach: "It's important we are writing code that is fast, particularly as you are loading the data." npm run bench loads data-ui on real data from Zach's apps in headless Chromium, drives real input, and times it from the browser's own clock, never data-ui's word.

Where the numbers are. bench/publish.py writes each run to the data-ui producer in Vibe Tracks, which draws every KPI against its budget, per scenario and per host, with a noisy machine's points hollow. Vibe Tracks has no public page yet, so this page shows what is measured and the budgets, not the numbers.

The KPIs and their budgets

Live

The catalog the bench publishes against, drawn by data-ui itself: a table with tree: {parent}, so each diagnostic sits under the KPI it explains. Click a KPI for its formula.

The live view starts when it scrolls into sight.

From bench/kpi_catalog.json (Vibe Tracks' vt-kpi-catalog/1), 15 KPIs and the gate no_page_errors

The rules every KPI follows

The scenarios

ScenarioAppRowsViewsWhat it stresses
robotparts-actuatorsrobotparts1,149grouped table, pivotthe headline: rich cells, 48 brand groups, nine facets
robotparts-catalogrobotparts2,068table, groupedthe part catalog
object-databaseobject database2,196table, cards (2,196 thumbnails)images
vibetracks-runsVibe Tracks700table, pivot, chartreal producer runs
vibetracks-kpisVibe Tracks161KPI cards, chartthe KPI view
vibetracks-boardVibe Tracks76kanbanthe board
rack-model-runsrobotparts models623KPI, leaderboard table, pivot, chart15 presets on one dataset
actuator-chartsrobotparts1,149Ashby chartsVega (the 850 KB bundle)
actuator-pivotrobotparts1,149pivotthe pivot
robotparts-photosrobotparts175cards with photosthe media grid
robotparts-timelinerobotparts30timelinevis-timeline
robotparts-sellers-maprobotparts322mapMapLibre
systemsketch-blocksSystemSketch8graphReact Flow
robotparts-calendarrobotparts172calendarEventCalendar
large-table@Nsynthetic1k, 10k, 100k, 150ktable, grouped, pivotscaling (sampled from the real actuators; `generate.py`, seeded)

Run it

terminal
npm --prefix ~/data-ui run bench
npm --prefix ~/data-ui run bench -- --scenario robotparts-actuators --runs 3
python3 ~/data-ui/bench/publish.py --to ~/vt/zach/producers/data-ui --event "after X"

data-ui also leaves its own marks in the browser's timeline, so DevTools' Performance panel shows them: data-ui:data, data-ui:start, data-ui:first-render, and the measures data-ui:model, data-ui:render, data-ui:rail.

Comes from bench/KPIS.md, bench/kpi_catalog.json and bench/README.md in docs/.