nsHTMLTags::CaseSensitiveLookupTag is too slow

RESOLVED WORKSFORME

Status

()

enhancement
P3
normal
RESOLVED WORKSFORME
3 years ago
9 months ago

People

(Reporter: smaug, Unassigned)

Tracking

(Blocks 1 bug)

50 Branch
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [qf-])

Attachments

(2 obsolete attachments)

It is doing a slow hashtable lookup. We probably need some local cache for recently used values.
Whiteboard: [qf-]
Henri, do you have time to take a look?
Flags: needinfo?(hsivonen)
Priority: -- → P1
I'll take a look. My preliminary opinion is that we should complicate the HTML5 parser my moving the node creation function pointers onto nsHtml5ElementName and delete nsHTMLTags.cpp.
Assignee: nobody → hsivonen
Flags: needinfo?(hsivonen)
Whatever works.
If moving stuff to HTML5 Parser is too complicated, a local cache might be good enough.
We have such cache for example for content lists, since doing a hashtable lookup is too slow
http://searchfox.org/mozilla-central/rev/9af9b1c7946ebef6056d2ee4c368d496395cf1c8/dom/base/nsContentList.cpp#191-193,201-204
Blocks: 944127
Depends on: 483155
Blocks: 1355472
Depends on: 1266495
Posted patch Java changes (obsolete) — Splinter Review
Known todo: Supporting the Tor prefs for disabling SVG and disabling MathML.
The logic for checking if SVG or MathML is disabled should probably move from nsNameSpaceManager.cpp to nsNodeInfoManager.cpp.
The patches here apply on top of those in bug 1266495.
I'll be away from Bugzilla until July 31st, so if there's a Quantum Flow need to drive this patch in the tree before that, I'm OK with someone else getting this landed. Otherwise, I'll pursue landing this when I'm back.
Attachment #8884291 - Attachment is obsolete: true
Comment on attachment 8884295 [details] [diff] [review]
Java changes

I'm going with a narrower fix than what the report here identifies as the problem, so moving to the narrower dependency: bug 483155.
Attachment #8884295 - Attachment is obsolete: true
Assignee: hsivonen → nobody
Priority: P1 → P3
Olli, do you think we should keep this open? Bug 483155 may have removed the need to do anything here.
Flags: needinfo?(bugs)
Don't see this stuff in Speedometer perf profiles atm.
Flags: needinfo?(bugs)
Status: NEW → RESOLVED
Closed: 9 months ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.