Bug 241542

Summary: Improve event handling speed for nodes by moving refcount and flags from Node to EventTarget
Product: WebKit Reporter: Darin Adler <darin>
Component: DOMAssignee: Darin Adler <darin>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: cdumez, heycam, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Darin Adler
Reported 2022-06-12 14:40:30 PDT
Cameron and Chris have been discussing and experimenting with this, and now I have a specific proposal I want to try. We’ll move the NodeFlags and node reference count from Node to EventTarget, and also make many EventTarget functions handle things without a virtual function call, at least when the target is a node, most importantly ref and deref.
Attachments
Cameron McCormack (:heycam)
Comment 1 2022-06-12 14:59:22 PDT
I had a patch that does pretty much that, but then it didn't help with the benchmark I was targeting (Speedometer).
Cameron McCormack (:heycam)
Comment 2 2022-06-12 15:06:46 PDT
I've just attached the most recent patch I tried to bug 238654. As I say, it didn't help when I tested it against Speedometer. Which surprised me, but maybe the compiler/linker is able to devirtualize, or the virtual calls are less expensive than I imagined.
Radar WebKit Bug Importer
Comment 3 2022-06-12 15:07:15 PDT
Darin Adler
Comment 4 2022-06-12 15:46:23 PDT
I probably should have used the bug you already had.
Darin Adler
Comment 5 2022-06-12 15:46:38 PDT
But I am still optimistic this will work!
Darin Adler
Comment 6 2022-06-12 16:04:44 PDT
*** This bug has been marked as a duplicate of bug 238654 ***
Note You need to log in before you can comment on or make changes to this bug.