| Summary: | [ATK] AXChildrenChanged notification handling is a performance black hole | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Zan Dobersek <zan> | ||||
| Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Normal | CC: | aboxhall, apinheiro, cfleizach, commit-queue, dmazzoni, jcraig, jdiggs, mario, samuel_white | ||||
| Priority: | P2 | ||||||
| Version: | 528+ (Nightly build) | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Attachments: |
|
||||||
|
Description
Zan Dobersek
2014-01-14 01:57:04 PST
Commenting out that code block reduces the time of load from 60 seconds down to 15 seconds. The ref-deref cycle is fired more than a million times during the load, and AccessibilityObject::updateBackingStore() is called twice per cycle, causing additional work that hinders the performance. Created attachment 221130 [details]
Patch proposal
This should be enough to fix this issue. Sorry for the issue in the first place (and thanks Zan for reporting it)
Comment on attachment 221130 [details] Patch proposal View in context: https://bugs.webkit.org/attachment.cgi?id=221130&action=review > LayoutTests/accessibility/children-changed-sends-notification-expected.txt:12 > -PARAGRAPH notification: AXChildrenAdded > -GLOBAL notification: AXChildrenAdded on element with role AXRole: AXParagraph > PARAGRAPH notification: AXChildrenRemoved > GLOBAL notification: AXChildrenRemoved on element with role AXRole: AXParagraph > +PARAGRAPH notification: AXChildrenAdded > +GLOBAL notification: AXChildrenAdded on element with role AXRole: AXParagraph Does this not affect Mac? Is this test specific for ATK? Comment on attachment 221130 [details] Patch proposal (In reply to comment #3) > (From update of attachment 221130 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=221130&action=review > > > LayoutTests/accessibility/children-changed-sends-notification-expected.txt:12 > > -PARAGRAPH notification: AXChildrenAdded > > -GLOBAL notification: AXChildrenAdded on element with role AXRole: AXParagraph > > PARAGRAPH notification: AXChildrenRemoved > > GLOBAL notification: AXChildrenRemoved on element with role AXRole: AXParagraph > > +PARAGRAPH notification: AXChildrenAdded > > +GLOBAL notification: AXChildrenAdded on element with role AXRole: AXParagraph > > Does this not affect Mac? Is this test specific for ATK? The mac is currently skipping this test, so yes, this test is specific to ATK. Thanks for the review! Comment on attachment 221130 [details] Patch proposal Clearing flags on attachment: 221130 Committed r161966: <http://trac.webkit.org/changeset/161966> All reviewed patches have been landed. Closing bug. |