You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
perf(grid): do not full re-sort on every staged cell edit #875
VirtualResultGrid._onStagingBufferChanged calls _updateSortedRows() whenever a sort column is active. Each cell edit therefore re-sorts the full result (O(N log N), isolate copy at N≥3000) and rebuilds a new row list. Dirty effectiveRows is also O(R) per notification.
Editing a sorted 5k-row grid on 120 Hz is a layout/CPU hitch per keystroke, not per sort click.
Scope
Keep display rows stable while editing; apply staged values via getCellValue / overlay instead of re-sorting the whole cap.
Re-sort on sort-column change, row insert/delete, or explicit user action — not on every notifyListeners.
Avoid a second setState in _commitEdit if the staging listener already rebuilt.
Out of scope
Staging buffer deep-copy of original rows (separate memory tradeoff).
Activity
Merge pull request #970 from QueryaHub/issue/875-grid-avoid-full-reso…
ZhuchkaTriplesix commentedon Sep 27, 2026
Resolved by #970 (already merged into
dev; not auto-closed since this repo's default branch ismainand PRs merge intodev).