Closed Bug 351725 Opened 18 years ago Closed 18 years ago

Atomize the resulthandler

Categories

(Core :: XSLT, defect)

x86
Linux
defect
Not set
normal

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.
Blocks: 197956
Fixed by patch in bug 221335
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Looks good!
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.