[dev-servo] Recent Improvements to Functions like getClientBoundingRect

2014-08-28 Thread Clark Gaebel
Hi servo-dev! Servo exists to validate the idea that parallel browser architectures work. Going parallel isn't always a good thing, and can sometimes be worse if there's too much communication overhead. For example, in the current Servo design, javascript is run in a different task than

Re: [dev-servo] Recent Improvements to Functions like getClientBoundingRect

2014-08-28 Thread Patrick Walton
On 8/28/14 5:56 PM, Cameron Zwarich wrote: It’s nice that it’s so close to the competition. It would be interesting to see numbers on ARM as well, since the relative cost of the atomic instructions might be higher, even in the uncontended case. Is it strictly enforced that the script task

Re: [dev-servo] Recent Improvements to Functions like getClientBoundingRect

2014-08-28 Thread Cameron Zwarich
On Aug 28, 2014, at 6:00 PM, Patrick Walton pcwal...@mozilla.com wrote: On 8/28/14 5:56 PM, Cameron Zwarich wrote: It’s nice that it’s so close to the competition. It would be interesting to see numbers on ARM as well, since the relative cost of the atomic instructions might be higher, even

Re: [dev-servo] Recent Improvements to Functions like getClientBoundingRect

2014-08-28 Thread Cameron Zwarich
Do such events always cause the layout task to require DOM access to create the flow tree? If so, the layout task would still have to wait for the script task to finish, meaning that layout still can’t occur unless forced by script. Cameron On Aug 28, 2014, at 7:10 PM, Patrick Walton

Re: [dev-servo] Recent Improvements to Functions like getClientBoundingRect

2014-08-28 Thread Robert O'Callahan
On Fri, Aug 29, 2014 at 2:10 PM, Patrick Walton pwal...@mozilla.com wrote: It might happen if layout is flushed from outside the script task; window resizing/device rotation being what immediately comes to mind, as today in Servo those events go straight from compositor to layout without

Re: [dev-servo] Recent Improvements to Functions like getClientBoundingRect

2014-08-28 Thread Patrick Walton
I believe the answer today is nothing--i.e. it's a Servo bug. Clark's work doubles as a nice way to fix it :) Patrick On August 28, 2014 7:18:27 PM PDT, Robert O'Callahan rob...@ocallahan.org wrote: On Fri, Aug 29, 2014 at 2:10 PM, Patrick Walton pwal...@mozilla.com wrote: It might happen if

Re: [dev-servo] Recent Improvements to Functions like getClientBoundingRect

2014-08-28 Thread Cameron Zwarich
On Aug 28, 2014, at 5:45 PM, Clark Gaebel cgae...@mozilla.com wrote: Running this on Firefox takes 500 ns/iteration. Chrome takes 700 ns/iteration. Servo before [1] lands took 8100 ns! That's paying a lot (some would say too much) for a parallel architecture, when simple queries experience