On 9/23/13 11:57 AM, Boris Zbarsky wrote:
It's hard to say more here without seeing the actual testcase being
measured.

Here it is:

https://gist.github.com/pcwalton/6695691

I deliberately crafted it to avoid shaping and floats so that, to the greatest extent possible, it's testing the core block reflow algorithms only. (There is still some whitespace in it though.)

BTW, with my patches (both to Servo and to the Rust compiler) I have sequential Servo within 16% of Gecko (Gecko Reflow() is 398ms for me while Servo is 462ms, comprised of 166ms assign-heights + 150ms assign-widths + 146ms bubble-widths). The remaining major issues are the lack of a real CSS library for querying styles (this is the biggest one) and too many dynamic borrows (which is partially a missing feature in Rust that I plan to propose--shared fields--and partially an unimplemented one--borrowing `@mut Trait` to `&mut Trait`). I suspect a few percent can still be squeezed out with micro-optimizations. Furthermore, there may well be algorithmic improvements we can look at. (In particular I am not sure that guessing widths during the bubble-widths phase is optimal.)

Patrick
_______________________________________________
dev-servo mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to