1
0
Fork 0
mirror of https://github.com/alacritty/alacritty.git synced 2024-11-18 13:55:23 -05:00
alacritty/alacritty_terminal/tests/ref
Christian Duerr ec42b42ce6
Use dynamic storage for zerowidth characters
The zerowidth characters were conventionally stored in a [char; 5].
This creates problems both by limiting the maximum number of zerowidth
characters and by increasing the cell size beyond what is necessary even
when no zerowidth characters are used.

Instead of storing zerowidth characters as a slice, a new CellExtra
struct is introduced which can store arbitrary optional cell data that
is rarely required. Since this is stored behind an optional pointer
(Option<Box<CellExtra>>), the initialization and dropping in the case
of no extra data are extremely cheap and the size penalty to cells
without this extra data is limited to 8 instead of 20 bytes.

The most noticible difference with this PR should be a reduction in
memory size of up to at least 30% (1.06G -> 733M, 100k scrollback, 72
lines, 280 columns). Since the zerowidth characters are now stored
dynamically, the limit of 5 per cell is also no longer present.
2020-11-05 04:45:14 +00:00
..
alt_reset Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
clear_underline Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
colored_reset Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
csi_rep Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
decaln_reset Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
deccolm_reset Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
delete_chars_reset Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
delete_lines Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
erase_chars_reset Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
fish_cc Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
grid_reset Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
history Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
indexed_256_colors Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
insert_blank_reset Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
issue_855 Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
ll Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
newline_with_cursor_beyond_scroll_region Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
region_scroll_down Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
row_reset Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
saved_cursor Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
saved_cursor_alt Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
scroll_up_reset Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
selective_erasure Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
sgr Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
tab_rendering Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
tmux_git_log Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
tmux_htop Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
underline Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
vim_24bitcolors_bce Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
vim_large_window_scroll Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
vim_simple_edit Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
vttest_cursor_movement_1 Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
vttest_insert Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
vttest_origin_mode_1 Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
vttest_origin_mode_2 Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
vttest_scroll Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
vttest_tab_clear_set Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
wrapline_alt_toggle Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
zerowidth Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00
zsh_tab_completion Use dynamic storage for zerowidth characters 2020-11-05 04:45:14 +00:00