• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

humanspeak / svelte-headless-table / 26344760811
81%
main: 80%

Build:
Build:
LAST BUILD BRANCH: fix/release-cleanup-always-run
DEFAULT BRANCH: main
Ran 23 May 2026 10:06PM UTC
Jobs 1
Files 37
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 May 2026 10:05PM UTC coverage: 80.596%. First build
26344760811

push

github

web-flow
perf: instrument view-model + drop Map detour in getColumnedBodyRows (#216)

* perf(bench): add headless-chromium perf-bench harness + baseline

Mirrors the svelte-markdown perf-bench pattern (fixture page + headless
runner) to give the table a structured, commit-attributable surface for
performance work. Eight scenarios cover the row-side, column-side, and
plugin-interaction hot paths called out in
.notes/performance-optimization-plan.md: rows-1k, rows-10k, columns-50,
column-reorder-1k, group-by-1k, sort-cycle-1k, subrows-tree-1k, and
kitchen-sink-1k.

The fixture exposes per-scenario build/render timings, the
vm._debug.derivationCalls breakdown (the non-wall-clock signal that
doesn't move with hardware noise), interaction-paint latency for sort
cycle / column reorder / expand-all, and the same rolling-10s observer
aggregates the markdown bench uses. The runner does COLD + WARM passes
with --enable-precise-memory-info and dumps a JSON blob suitable for
piping into scripts/perf-baseline.json for before/after diffs in PR
bodies.

- scripts/perf-bench.mjs — port of svelte-markdown's runner with
  table-shaped stat parser, defaults to http://localhost:8417.
- src/routes/test/perf-bench/+page.svelte — eight scenarios, all
  building fresh tables + columns + view-models and snapshotting
  derivation counters per run; _PerfTable.svelte is keyed so each
  scenario remounts cleanly.
- scripts/perf-baseline.json — initial baseline capture so the next
  perf commit can show a delta in its PR description.
- package.json — pnpm perf:bench script.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(debug): expose per-derivation timings on vm._debug

Adds `derivationTimings` (parallel to `derivationCalls`) plus
`getTotalMs()` on the view-model's debug surface so we can attribute a
scenario's render budget to a specific derivation, not just the
aggregated `firstPaintMs`. Each `derived(...)` body in
createViewModel.ts now wraps its work in ... (continued)

479 of 648 branches covered (73.92%)

Branch coverage included in aggregate %.

25 of 26 new or added lines in 2 files covered. (96.15%)

1332 of 1599 relevant lines covered (83.3%)

1506.45 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
98.65
src/lib/createViewModel.ts
Jobs
ID Job ID Ran Files Coverage
1 node-22 - 26344760811.1 23 May 2026 10:06PM UTC 37
80.6
GitHub Action Run
Source Files on build 26344760811
  • Tree
  • List 37
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #26344760811
  • 681ec533 on github
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc