PERF: cold Mail preference Undo exceeds the accepted-state budget #713

Open
opened 2026-10-02 10:31:41 +00:00 by kayg · 0 comments
Owner

Follow-up from #667 / DESIGN §58 rule 4. Performance does not block the merge.

A locked production/HDD run has one cold-process Undo accepted-state sample above the 150 ms budget. Accepted time starts at the click event and ends at the next frame with the radio checked. Durable time ends when the client reads the receipt. The model still confirms the correct inverse and all five burst requests return one committed result.

Cold Undo accepted samples (ms): [61.9, 56.6, 57, 175.5, 68.6]. Median / p95 / max: 61.9 / 175.5 / 175.5. Durable median / p95 / max: 80.7 / 88.6 / 88.6 ms. Cold means a new server process before each input; OS caches remain. There are five forward and five Undo samples in each phase. Warm and 100,000-receipt-history accepted samples stay within budget.

Production source: 3c313d4ed7. Binary SHA-256: af05232a711fdce969b8f28b3d4985e716cdf3fb8a7b8ce02fe875d70e899d48. Profile source: 3b5dd40abf; profile SHA-256: ff1cab97f2226792a8323f6ac77f057f1f5a91d31942db9efada095c9d65f735. Chromium 153.0.8010.12. Browser and server both run on perf-test; the HTTPS front uses SSH forwarding. Every sample holds /root/perf.lock. Load at cold phase: 2.13 1.95 1.83 1/444 64887. HDD QD1 124.9 IOPS / 8.028 ms median; QD16 200.9 IOPS / 100.139 ms median.

No matching accepted/durable mutation baseline exists in docs/perf/baseline.json. This is a budget exceedance, not a claimed baseline regression ratio. Raw results will be committed in docs/perf/runs/2026-10-02-mutations-667.json and linked from #667.

Reproduce with the production SPA embedded in the selected release server:

CALTERNAL_SERVER_BIN=/path/to/release/calternal-server MUTATION_BINARY_SOURCE=<source-revision> bun bench/mutation-receipts.mjs --vm

Inspect the accepted frame after restart, including client intent persistence, rendering/long tasks and browser foreground state. Keep shared motion and focus behavior. Keep all slow samples. Do not change the model before a definite write rejection, and do not wait on an animation before accepting input.

Follow-up from #667 / DESIGN §58 rule 4. Performance does not block the merge. A locked production/HDD run has one cold-process Undo accepted-state sample above the 150 ms budget. Accepted time starts at the click event and ends at the next frame with the radio checked. Durable time ends when the client reads the receipt. The model still confirms the correct inverse and all five burst requests return one committed result. Cold Undo accepted samples (ms): [61.9, 56.6, 57, 175.5, 68.6]. Median / p95 / max: 61.9 / 175.5 / 175.5. Durable median / p95 / max: 80.7 / 88.6 / 88.6 ms. Cold means a new server process before each input; OS caches remain. There are five forward and five Undo samples in each phase. Warm and 100,000-receipt-history accepted samples stay within budget. Production source: 3c313d4ed705fe5c00b09e6508ef9d12f39220dd. Binary SHA-256: af05232a711fdce969b8f28b3d4985e716cdf3fb8a7b8ce02fe875d70e899d48. Profile source: 3b5dd40abf89d133b04fc78ebfbfd2b260c2c9f3; profile SHA-256: ff1cab97f2226792a8323f6ac77f057f1f5a91d31942db9efada095c9d65f735. Chromium 153.0.8010.12. Browser and server both run on perf-test; the HTTPS front uses SSH forwarding. Every sample holds /root/perf.lock. Load at cold phase: 2.13 1.95 1.83 1/444 64887. HDD QD1 124.9 IOPS / 8.028 ms median; QD16 200.9 IOPS / 100.139 ms median. No matching accepted/durable mutation baseline exists in docs/perf/baseline.json. This is a budget exceedance, not a claimed baseline regression ratio. Raw results will be committed in docs/perf/runs/2026-10-02-mutations-667.json and linked from #667. Reproduce with the production SPA embedded in the selected release server: ```sh CALTERNAL_SERVER_BIN=/path/to/release/calternal-server MUTATION_BINARY_SOURCE=<source-revision> bun bench/mutation-receipts.mjs --vm ``` Inspect the accepted frame after restart, including client intent persistence, rendering/long tasks and browser foreground state. Keep shared motion and focus behavior. Keep all slow samples. Do not change the model before a definite write rejection, and do not wait on an animation before accepting input.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal#713
No description provided.