1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 06:47:34 +00:00

LibWeb: Cache lowercased tag name for getElementsByTagName() iteration

Instead of calling to_lowercase() on two strings for every step while
iterating over the HTMLCollection returned by getElementsByTagName(),
we now cache the lowercased tag name beforehand and reuse it.

2.4x speed-up on WebKit/PerformanceTests/DOM/DOMDivWalk.html
This commit is contained in:
Andreas Kling 2023-08-22 14:34:25 +02:00
parent ec340f03a5
commit 76580bb9ba
5 changed files with 8 additions and 7 deletions

View file

@ -71,7 +71,7 @@ class Element
public:
virtual ~Element() override;
DeprecatedString const& qualified_name() const { return m_qualified_name.as_string(); }
DeprecatedFlyString const& qualified_name() const { return m_qualified_name.as_string(); }
DeprecatedString const& html_uppercased_qualified_name() const { return m_html_uppercased_qualified_name; }
virtual DeprecatedFlyString node_name() const final { return html_uppercased_qualified_name(); }
DeprecatedFlyString const& local_name() const { return m_qualified_name.local_name(); }