perf: attribute remaining 5k Files paint, paging and scroll latency #1227

Open
opened 2026-10-06 20:02:56 +00:00 by kayg · 0 comments
Owner

Remaining Files 5k first paint, paging projection and scroll latency

Follow-up from #1124 round 2. Five interleaved production pairs on perf-test, Chromium 4× CPU and macOS platform, HDD 8 ms / 200 IOPS / 150 MB/s, asserted real Index of 5,000 Files. Retained timestamp formatting removes per-entry ICU zone discovery.

After: first-painted rows p50 2559.51 / p95 3007.55 ms; all 5k readiness p50 7027.09 / p95 7978.86 ms; Name reverse sort p50 683.00 / p95 823.46 ms. Baseline: first paint 2704.76 /3438.44; all 5k 14944.70 /74272.21; sort 2883.07 /3523.63. Every slow sample remains included.

Synthetic 90-step native vertical scroll per run (450 frames): p50/p95/max 66.7/91.5/299.9 →70.0/97.1/159.2 ms. Scroll is not an improved path; its p95 rises 6.12%. There is no scroll-specific fix in this job. Attribute its root cause separately with a native wheel/key profile as well as deterministic steps.

FilesBrowser maps the whole loaded item collection to labels on each 500-entry page and again when sort changes: 500+1000+…+5000=27,500 projections. FileCollection paints only 27 DOM options in the measured viewport. Investigate incremental or visible-row metadata formatting while retaining sorting, live preference/time-zone invalidation, stable item links, accessibility and every primary action. The first page/server path also needs attribution; do not claim virtualization fixes API latency.

Raw: docs/perf/runs/2026-10-06-1124-round2-qualified-files.json. DESIGN §59 is the budget. No new ratchet or accepted slowdown. This is a performance follow-up, not a merge blocker.

# Remaining Files 5k first paint, paging projection and scroll latency Follow-up from #1124 round 2. Five interleaved production pairs on perf-test, Chromium 4× CPU and macOS platform, HDD 8 ms / 200 IOPS / 150 MB/s, asserted real Index of 5,000 Files. Retained timestamp formatting removes per-entry ICU zone discovery. After: first-painted rows p50 2559.51 / p95 3007.55 ms; all 5k readiness p50 7027.09 / p95 7978.86 ms; Name reverse sort p50 683.00 / p95 823.46 ms. Baseline: first paint 2704.76 /3438.44; all 5k 14944.70 /74272.21; sort 2883.07 /3523.63. Every slow sample remains included. Synthetic 90-step native vertical scroll per run (450 frames): p50/p95/max 66.7/91.5/299.9 →70.0/97.1/159.2 ms. Scroll is not an improved path; its p95 rises 6.12%. There is no scroll-specific fix in this job. Attribute its root cause separately with a native wheel/key profile as well as deterministic steps. FilesBrowser maps the whole loaded item collection to labels on each 500-entry page and again when sort changes: 500+1000+…+5000=27,500 projections. FileCollection paints only 27 DOM options in the measured viewport. Investigate incremental or visible-row metadata formatting while retaining sorting, live preference/time-zone invalidation, stable item links, accessibility and every primary action. The first page/server path also needs attribution; do not claim virtualization fixes API latency. Raw: docs/perf/runs/2026-10-06-1124-round2-qualified-files.json. DESIGN §59 is the budget. No new ratchet or accepted slowdown. This is a performance follow-up, not a merge blocker.
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
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-v0#1227
No description provided.