1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-30 08:15:06 +00:00
serenity/Libraries/LibVT
Nico Weber a6734766ec Terminal: Make sure empty hrefs set a null string on Attribute
Else, we store an empty but allocated string for each Attribute after a
href was emitted (since it's ended by a non-null empty string), which
makes Line objects very expensive to destroy and to modify.

Reduces `disasm /bin/id` from 414ms to 380ms (min-of-5). There's
a lot more perf wins to be had with better href handling (most
lines don't have any hrefs, so instead of storing a string per
Attr, maybe we could have a vector of hrefs per line and int offsets
into that in each Attr for example), but this is a simple, obvious,
and effective improvement, so let's start with this.
2020-09-13 11:34:49 +02:00
..
CMakeLists.txt LibVT: Move out the Line class from Terminal to its own class 2020-05-15 18:57:50 +02:00
Line.cpp Unicode: Try s/codepoint/code_point/g again 2020-08-05 22:33:42 +02:00
Line.h Unicode: Try s/codepoint/code_point/g again 2020-08-05 22:33:42 +02:00
Position.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Terminal.cpp Terminal: Make sure empty hrefs set a null string on Attribute 2020-09-13 11:34:49 +02:00
Terminal.h LibVT: Let Terminal keep history in a circular buffer 2020-09-10 12:01:26 +02:00
TerminalWidget.cpp LibVT: Show an I-beam cursor over TerminalWidget 2020-09-11 14:26:37 +02:00
TerminalWidget.h LibGUI: Make focus events more aware of why focus is changing 2020-08-15 00:05:45 +02:00
XtermColors.h LibVT: Support RGB colors (\x1b[38;2;<r>;<g>;<b>m) 2020-05-10 10:23:05 +02:00