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

humanspeak / svelte-virtual-chat / 25439666463
98%
main: 98%

Build:
Build:
LAST BUILD BRANCH: chore/perf-bench-cascade-and-heap
DEFAULT BRANCH: main
Ran 06 May 2026 01:55PM UTC
Jobs 1
Files 2
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

06 May 2026 01:54PM UTC coverage: 97.521%. Remained the same
25439666463

push

github

web-flow
perf(virtual-chat): narrow debug-info effect + bench infra (closes #11, #12) (#20)

* test(perf): add cascade-bumps and heap-alloc metrics to perf-bench

Closes the two remaining blind spots in the bench harness:

- `cascadeBumps10s` — counts cache-version bumps over the rolling
  window by sampling `debugInfo.heightCacheVersion` (a new field on
  the public debug type) on every `onDebugInfo` fire and on every
  refresh tick. The first/last delta in the window is the bump
  count. Direct measurement of what #9-class coalescing
  optimizations move: pre-#9 a 5k-load post-mount burst would
  produce ~20 bumps; post-#9 produces 1.
- `heapAllocKbPerSec` — sums positive `performance.memory.usedJSHeapSize`
  deltas across rAF ticks and divides by window seconds. Catches
  sub-LoAF allocation reductions like #10's slice cache where
  frames stay under 50ms but per-frame allocations drop. Chrome-only.

Both fields render `n/a` in the debug strip when their underlying
APIs aren't available, matching the existing `longTaskSupported`
pattern.

The runner script gains `--enable-precise-memory-info` on chromium
launch so the heap metric isn't quantized to 100KB granularity.
Note: even with the flag, headless Playwright reports 0 for most
rAF deltas (Chrome's `performance.memory` is lazily sampled and
doesn't always refresh for `page.evaluate` calls). The metric is
still useful in a real DevTools session, which is the actual user-
facing path for this fixture.

`scripts/perf-bench.mjs` extracts both new fields so PR before/after
tables can compare them.

Initial baseline (post-#10 + post-#9 main, fresh capture):

  load5000 cold:  cascadeBumps=12  heapKbPerSec=0
  smoothScroll:   cascadeBumps=211 heapKbPerSec=0
  stream.final:   cascadeBumps=298 heapKbPerSec=0

The 12 bumps on load5000 reflect the 5k-message mount distributed
across multiple coalescing windows (each row's ResizeObserver firing
in its own animation frame). 211 cascade bumps during smooth scroll
is t... (continued)

73 of 78 branches covered (93.59%)

Branch coverage included in aggregate %.

163 of 164 relevant lines covered (99.39%)

100.45 hits per line

Jobs
ID Job ID Ran Files Coverage
1 node-22 - 25439666463.1 06 May 2026 01:55PM UTC 2
97.52
GitHub Action Run
Source Files on build 25439666463
  • Tree
  • List 2
  • 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 #25439666463
  • 22ced489 on github
  • Prev Build on main (#25265878736)
  • Delete
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