mirror of
https://github.com/wez/wezterm.git
synced 2024-12-25 22:33:52 +03:00
8002a17242
The previous commit added the option to convert the storage to the cluster format. That saves memory as rows are moved to scrollback, but makes scrolling back more expensive due to that conversion. This commit adds a fast(ish) path for the common case of simply appending text to a new line before it gets scrolled: the default format for lines in the screen is now the cluster format and, provided that the cursor moves from left to right as text is emitted, can simply append to the cluster storage in-place and avoids a conversion when the line is moved to scrollback. This improves the throughput of `time cat enwiki8.wiki` so that the runtime is typically around 11-12s (compared to 9-10s before introducing cluster storage). However, this is often a deal of variance in the measured time and I believe that that is due to the renderer triggering conversions back to the vec storage and introducing slowdowns from the render side. That's what I'll investigate next. |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |