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