diff options
author | Aidan Hobson Sayers <aidanhs@cantab.net> | 2024-01-18 09:32:11 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-18 10:32:11 +0100 |
commit | ed8ca9383e0530d6b6d54d6b778046690e6d826d (patch) | |
tree | 35f55fcab9c20c73c91ab7fc26a64398d563af80 /zellij-server/src/panes/search.rs | |
parent | ba43a4cbc06fb63438f40d816120755a3166b876 (diff) |
performance(terminal): improvements to reflow performance by removing O(n^2) behavior (#3045)
* refactor: Simplify transfer_rows_from_viewport_to_lines_above
next_lines is always consolidated to a single Row, which immediately
gets removed - we can remove some dead code as a result
* perf: Batch remove rows from the viewport for performance
Given a 1MB line catted into the terminal, a toggle-fullscreen +
toggle-fullscreen + close-pane + `run true` goes from ~9s to ~3s
* perf: Optimize Row::drain_until by splitting chars in one step
Given a 10MB line catted into the terminal, a toggle-fullscreen +
toggle-fullscreen + close-pane + `run true` goes from ~23s to ~20s
Diffstat (limited to 'zellij-server/src/panes/search.rs')
0 files changed, 0 insertions, 0 deletions