Files
serenity/Userland/Libraries/LibWeb/DOM
Timothy Flynn bb8b24eef7 LibWeb: Move initial creation of Unicode segmenters to the Document
The expensive part of creating a segmenter is doing the locale and UCD
data lookups at creation time. Instead of doing this once per text node,
cache the segmenters on the document, and clone them as needed (cloning
is much, much cheaper).

On a profile loading Ladybird's GitHub repo, the following hot methods
changed as follows:

    ChunkIterator ctor: 6.08% -> 0.21%
    Segmenter factory:  5.86% ->    0%
    Segmenter clone:    N/A   -> 0.09%

(cherry picked from commit 5d7175874258f00763adcced230149dd1379e4a6;
mended as usual for Unicode::Segmenter -> Locale::Segmenter, and also
to resolve minor conflicts due to serenity not yet having
LadybirdBrowser/ladybird#1106. Also, due to serenity not using ICU,
this doesn't have a big performance effect over here, but it still
makes future cherry-picks easier)
2024-11-27 12:57:15 -05:00
..
2024-11-14 17:46:06 -05:00
2024-11-14 17:46:06 -05:00
2024-11-14 17:46:06 -05:00
2024-11-14 17:46:06 -05:00
2024-11-14 17:46:06 -05:00
2024-11-14 17:46:06 -05:00
2024-11-14 17:46:06 -05:00
2024-11-14 17:46:06 -05:00
2024-11-14 17:46:06 -05:00
2024-11-14 17:46:06 -05:00
2024-11-14 17:46:06 -05:00
2024-07-23 12:45:37 -04:00
2024-11-14 17:46:06 -05:00
2024-11-14 17:46:06 -05:00