Results in an 80% parallel improvement over sequential on youtube.com.
This is quite tricky—it involves a sea change to layout in order to make block layout interruptible and resumable, and intertwines assign-widths and assign-heights even more—and I'd be happy to go over this via video or IRC.
Critic review: https://critic.hoppipolla.co.uk/r/857
This is an external review system which you may optionally use for the code review of your pull request.
In order to help critic track your changes, please do not make in-place history rewrites (e.g. via git rebase -i or git commit --amend) when updating this pull request.
git rebase -i
git commit --amend
Blogged on how this works: http://pcwalton.github.io/blog/2014/02/25/revamped-parallel-layout-in-servo/
New version of the patch unbreaks Wikipedia and is based on top of the float context rewrite.
layout: Attempt to lay out blocks in parallel if we can prove (via
`clear` or by establishing a block formatting context) that they are
unaffected by floats.
This results in a 2.78x parallel speedup over sequential on the attached
test case, `perf-acid1.html`.
layout: Implement the correct behavior for block formatting contexts
adjacent to floats per CSS 2.1 § 9.5.
Results in an 80% parallel improvement on YouTube.
Superseded by #2256.