Closed
Bug 351725
Opened 18 years ago
Closed 18 years ago
Atomize the resulthandler
Categories
(Core :: XSLT, defect)
Tracking
()
VERIFIED
FIXED
People
(Reporter: bzbarsky, Unassigned)
References
(Blocks 1 open bug)
Details
(Keywords: perf)
As the comment in txStartLREElement::execute says....
I just tried doing XML prettyprinting on a largish XML file, which of course hung my browser. I tried profiling it for a bit, then killed the app. Here's the interesting part relevant to this bug:
Total hit count: 438281
27467 nsStaticAtomWrapper::ToString(nsAString_internal&)
About two third of that is from txStartLREElement::execute and txLREAttribute::execute where we use a prefix and localname atom to construct a string qualified name.
62909 nsContentUtils::GetNodeInfoFromQName
All the calls to this are from CreateElementNS and SetAttributeNS.
In other words, about 20% of the total XSLT time here is spent on string/atom busywork. Granted, all the stuff in this file is namespaced... The number might be lower otherwise.
We can use nsIContent and SetAttr to eliminate the attribute stuff, but we probably need a way of creating elements that's exposed on nsIDocument.
Depends on: 221335
Fixed by patch in bug 221335
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•