Reduce native table startup with bounded subject subscriptions #63
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "codex/issue-52-native-startup"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Opening a bounded 100-record table window at 100k records spent about 3.44 seconds in a single native multi-subject subscription. The runtime now opens one bounded SDK page per subject, starting four per task and yielding between batches. Isolated 100k window startup has a 316 ms median across nine samples, with a maximum 32 ms heartbeat delay while membership polling is paused.
pageSize: 1andmaxActivePages: 1on every child subscription. Backend queries still determine complete-collection search, ordering and window membership.pnpm bench:windows, covering first/middle/last windows at 1k/10k/100k records per class. All 27 windows retain the correct 100 subjects. At each size, 100 sustained incoming updates produce exactly 100 row notifications, zero window notifications and a value matching a fresh read.Measured behavior and tradeoffs
The follow-up end-to-end 100k run, with normal membership polling, records:
Each run still retains 100 ORM records and renders 13 grid rows. The verifier retains its complete graph; at 100k the final category tab measured 15.7 MB post-GC V8 heap and 1.64 GB renderer RSS.
More subscriptions add fixed overhead on small graphs: isolated 1k startup increases from 54 ms to about 312 ms, and end-to-end initial readiness from 480 ms to 946 ms. Recorded 1k/10k search, sort and paging remain below one second. These are development-server measurements, not production latency distributions or a supported row-count threshold.
Relates to #52; keep it open. Search and periodic membership queries still run on the main thread. The strict benchmark retains the original targets: 1k and 10k pass, while the three 100k search/sort/Next assertions still fail, including 1018.8 ms for Next. No target has been relaxed.
Behavior, reproduction and raw measurements.
Validation