- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Sat, 06 Jun 2009 15:16:25 -0400
- To: François REMY <fremycompany_pub@yahoo.fr>
- CC: www-dom@w3.org, "Michael A. Puls II" <shadow2531@gmail.com>
François REMY wrote: > There's cleary two factors that apply : > ==> Time needed to move from managed C++ to unmanaged JScript > ==> Time of JScript execution You missed a third one: DOM event dispatch per se. For example, on your test2, I see the following in a current trunk Firefox build: 10% of total time spent creating DOM nodes from the string. 40% of total time spent handling the insert internally (creating the layout objects, etc). 45% of total time spent firing and handling the DOM event. That last 45% breaks down as follows (all percentages are of total testcase time): 10% building up the event target chain and doing pre- and post-dispatch handling of various sorts. 6% traversing that chain. 5% looking for listeners for this event on the various targets in the chain. 6% setting up the right security context for the event dispatch. 8% creating the necessary JS objects (I have no idea why this takes so long). 8% making the actual call into JS. Note that about half the "event dispatch time" is used even if there is no listener to dispatch to (though if there is really no listener we optimize away the mutation event dispatch altogether)... -Boris
Received on Saturday, 6 June 2009 19:17:06 UTC