Closed Bug 1347643 Opened 3 years ago Closed 2 years ago

nsHTMLTags::CaseSensitiveLookupTag is too slow

Categories

(Core :: DOM: HTML Parser, enhancement, P3)

50 Branch
enhancement

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: smaug, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [qf-])

Attachments

(2 obsolete files)

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
Blocks: 1355472
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.
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
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: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.