[Webkit-unassigned] [Bug 273959] New: AX: it's inefficient to put large object types in AXPropertyValueVariant

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu May 9 10:33:57 PDT 2024


https://bugs.webkit.org/show_bug.cgi?id=273959

            Bug ID: 273959
           Summary: AX: it's inefficient to put large object types in
                    AXPropertyValueVariant
           Product: WebKit
           Version: Safari Technology Preview
          Hardware: All
                OS: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Accessibility
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: dm_mazzoni at apple.com
                CC: andresg_22 at apple.com,
                    webkit-bug-importer at group.apple.com

sizeof(AXPropertyValueVariant) is currently 88 bytes. If we take out URL and Path, it drops to 32 bytes, which is a very significant savings since we're storing lots of these for every isolated tree node.

Wrapping URL and Path in shared_ptr is an easy workaround. That way only the pointer is stored in the variant. We can't use unique_ptr because we store the variant in a HashMap that requires it to be copyable.

Another alternative for URL would be to store it as a String and then parse it into a URL when needed.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240509/d3cb668f/attachment.htm>


More information about the webkit-unassigned mailing list