fix(performance): bound cached data - #2379
Conversation
- release both row owners during safe table-tab eviction - track display-cache costs independently of mutable boxes - skip eager column loads beyond cache capacity
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
Reviewed this and pushed the fixes onto the branch rather than leaving a list. The direction is right: a What I changed, and why. The eager-load skip counted the wrong tables. The threshold was the LRU capacity. Reusing
The gate was written out three times. The display cache took the cost from its caller. All three sites computed it identically from the box they were passing, so nothing checked they agreed and a wrong number would have skewed Two things found while tracing this that are pre-existing but sit in the same subsystem, so they ride along:
Three review findings I looked at and did not act on:
Tests: added coverage for |
6adeecb to
e2202b3
Compare
Summary
Visual
flowchart TD A["Inactive tab"] --> B{"Reloadable table tab?"} B -- "no" --> C["keep all data"] B -- "yes" --> D{"Pinned, edited, loading, or executing?"} D -- "yes" --> C D -- "no" --> E["clear registry rows and ID index"] D -- "no" --> F["clear unpinned result rows and ID index"] E --> G["reload on next activation"] F --> GEvidence
Tab eviction
Display cache
Schema columns
Verification