diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-06-07 19:57:57 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-07 19:57:57 -0700 |
commit | c0f3ec87806a0d718d7f9ef1ccb912c78fc482d2 (patch) | |
tree | 35c89008254a588e87a45bf9cb9dd80778ea3b09 /components/script/dom | |
parent | ad47d33511c318fe208158bb16deb5086979e0c7 (diff) | |
parent | 7fd1626901af324f26208ceaba66e75c4d1c2154 (diff) | |
download | servo-c0f3ec87806a0d718d7f9ef1ccb912c78fc482d2.tar.gz servo-c0f3ec87806a0d718d7f9ef1ccb912c78fc482d2.zip |
Auto merge of #17192 - mbrubeck:layout, r=pcwalton
Parallel layout optimizations
This takes some of the optimizations made to parallel styling in #16971 and applies them to parallel layout. Specifically:
* Reduce the chunk size, to increase chances for parallelism on trees with small fan-out.
* Reduce allocations by using SmallVec.
* Reduce task switching by processing up to one chunk of children within the same rayon task as the parent.
This cuts the "Primary Layout Pass" time in **half** on the MySpace page from [tp5n], and on my other real-world test pages it is a small improvement or close to no change.
[tp5n]: https://wiki.mozilla.org/Buildbot/Talos/Tests#tp5n_pages_set
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they affect performance only
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17192)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom')
0 files changed, 0 insertions, 0 deletions