Closed Bug 564576 Opened 14 years ago Closed 14 years ago

Speed up ChangeDocumentFor a bit

Categories

(Core :: XBL, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 564591

People

(Reporter: bzbarsky, Assigned: bzbarsky)

References

(Blocks 1 open bug)

Details

(Keywords: perf)

Attachments

(1 file)

Attached patch Simple changeSplinter Review
Ran into this while profiling the testcase in bug 564575.  The hashtable ops in ChangeDocumentFor hurt us.  I _think_ we can skip at least some of them.

I'm pretty sure about the SetAnonymousNodesFor being conditioned on |binding|.  What about the SetContentListFor change?  Is that ok?  The NODE_IS_INSERTION_PARENT flag is sadly underdocumented.  And do we need that SetInsertionParent call?  Either the node is being removed directly (and then ContentRemoved did the SetInsertionParent), or some ancestor is being removed, and then presumably the relevant bindings are being nuked and hence the insertion parent table will be updated correctly... right?
Attachment #444235 - Flags: feedback?(jonas)
Attachment #444235 - Flags: feedback?(Olli.Pettay)
I have a better patch for this that seems to work. I've been whacking our BindToTree/UnbindFromTree code fairly hard. Will attach patches once the last of them are done.
Oh?  I'd been glaring at our bind/unbind code, but not quite willing to spend enough time today to really take it apart.  Are your patches available somewhere so I can profile/test with them?  Is there a bug to follow?
Indeed.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
Attachment #444235 - Flags: feedback?(jonas)
Attachment #444235 - Flags: feedback?(Olli.Pettay)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: