RESOLVED FIXED 126970
[ATK] AXChildrenChanged notification handling is a performance black hole
https://bugs.webkit.org/show_bug.cgi?id=126970
Summary [ATK] AXChildrenChanged notification handling is a performance black hole
Zan Dobersek
Reported 2014-01-14 01:57:04 PST
in AXObjectCache::postPlatformNotification, handling the AXChildrenChanged is causing great performace reduction when loading the single-page HTML Living Standard document. http://trac.webkit.org/browser/trunk/Source/WebCore/accessibility/atk/AXObjectCacheAtk.cpp#L196 http://www.whatwg.org/specs/web-apps/current-work/
Attachments
Patch proposal (4.77 KB, patch)
2014-01-14 02:03 PST, Mario Sanchez Prada
no flags
Zan Dobersek
Comment 1 2014-01-14 01:58:53 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.
Mario Sanchez Prada
Comment 2 2014-01-14 02:03:58 PST
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)
Gustavo Noronha (kov)
Comment 3 2014-01-14 05:40:21 PST
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?
Mario Sanchez Prada
Comment 4 2014-01-14 07:12:11 PST
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!
WebKit Commit Bot
Comment 5 2014-01-14 07:41:24 PST
Comment on attachment 221130 [details] Patch proposal Clearing flags on attachment: 221130 Committed r161966: <http://trac.webkit.org/changeset/161966>
WebKit Commit Bot
Comment 6 2014-01-14 07:41:26 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.