Record PR 19 performance sweep and request invalidation fix
This commit is contained in:
1 parent
4c7072e62f
commit
048738bb9d
3 files changed
+137
-5
No files matched your search
+18
-4
@@ -66,10 +66,24 @@ The allocation rig forces every widget to redraw across 100 resize frames:
|
||||
both the plain and clamped eight-row fixtures allocate zero times after warm-up.
|
||||
This is a measured property of those stable visible trees, not a guarantee for
|
||||
arbitrary widgets or visibility changes. An eight-level known nested span paints
|
||||
its leaf once. The 40-row, 1,000-frame text resize rig costs 9,891,085,554 retired
|
||||
instructions versus 9,341,015,256 at `de1eb7e` (5.89% more), with the same printed
|
||||
geometry. Request dependency tracking has a cost even when text still needs
|
||||
measurement. The 400-tree unbounded cold dump preserves all 34,986 boxes.
|
||||
its leaf once. Discovery retains dependencies only for requests it actually
|
||||
uses; discarded discovery leaves dependency tracking to the measured draw.
|
||||
Used hints still register request readers so a newly added cap reallocates the
|
||||
parent even when the child's reported share is unchanged.
|
||||
|
||||
The performance sweep of 2026-09-20 found and removed an eightfold increase in
|
||||
the unchanged-paragraph repaint fixture caused by discarded discovery
|
||||
invalidating its span. The 40-row, 1,000-frame text resize rig now costs 9.432B
|
||||
retired instructions against 9.340B at `de1eb7e` (+0.99%), down from 9.890B
|
||||
at `8780b40` (+5.90%). Text draw, line-break and glyph-placement counts agree;
|
||||
the remaining cost is layout bookkeeping. The width sweep is +1.23%, and
|
||||
paragraph edits and scrolling are within 0.3% in the measured fixtures.
|
||||
These are medians of nine process totals, not GPU or phone frame times.
|
||||
Deep generated trees still have workload-dependent wins and regressions;
|
||||
`docs/LAYOUT_LOG.md` records the matrix, storage costs and measurement limits.
|
||||
The 400-tree unbounded cold dump preserves all 34,986 boxes against `de1eb7e`;
|
||||
the performance correction also preserves all 34,986 bounded boxes against
|
||||
`8780b40`.
|
||||
|
||||
The app's submodule pin is unchanged. This design lives on Iris PR #19.
|
||||
|
||||
|
||||
Reference in new issue
Block a user