mirror of
https://github.com/servo/servo.git
synced 2025-07-24 07:40:27 +01:00
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 --> |
||
---|---|---|
.. | ||
animation.rs | ||
block.rs | ||
Cargo.toml | ||
construct.rs | ||
context.rs | ||
data.rs | ||
display_list_builder.rs | ||
flex.rs | ||
floats.rs | ||
flow.rs | ||
flow_list.rs | ||
flow_ref.rs | ||
fragment.rs | ||
generated_content.rs | ||
incremental.rs | ||
inline.rs | ||
layout_debug.rs | ||
lib.rs | ||
linked_list.rs | ||
list_item.rs | ||
model.rs | ||
multicol.rs | ||
opaque_node.rs | ||
parallel.rs | ||
persistent_list.rs | ||
query.rs | ||
sequential.rs | ||
table.rs | ||
table_caption.rs | ||
table_cell.rs | ||
table_colgroup.rs | ||
table_row.rs | ||
table_rowgroup.rs | ||
table_wrapper.rs | ||
text.rs | ||
traversal.rs | ||
webrender_helpers.rs | ||
wrapper.rs |