Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upIntroduce SerializedDisplayItem to reduce mem copies on DL construction #3361
Conversation
|
With @jrmuizel help to set up the tool, it looks like the item copies are all gone for good
The new log doesn't have any of those:
|
|
@jrmuizel r? this is ready, I believe, but you need to double check if this makes sense. The memcopies are gone, and Gecko try is green. I'm not seeing a significant difference in Talos, but maybe I'm looking at the wrong thing :) |
|
But it seems like a worthwhile change to me, will wait to see what @jrmuizel thinks. |
|
I think this is fine to take now. It moves the unwrap() back between SpecificDisplayItem construction and serialization which reduces our chances of inlining serialization and constant folding the SpecificDisplayItem into that code. However, because of rust-lang/rust#54878 we're not in a great position to achieve this right now. @bors-servo r+ |
|
|
Introduce SerializedDisplayItem to reduce mem copies on DL construction This PR addresses the part of #3358 about DL construction: instead of constructing the display items and associated data and passing through the serializer by value, we just pass the references around, which guarantees that no extra copies are made. TODO: - [x] verify that the copies are gone (need the tool hosted/opened somewhere) - [x] Gecko try push with talos jobs <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/3361) <!-- Reviewable:end -->
|
|
…67e04913e9fb (WR PR #3361). r=kats servo/webrender#3361 Differential Revision: https://phabricator.services.mozilla.com/D13246 --HG-- extra : moz-landing-system : lando
…67e04913e9fb (WR PR #3361). r=kats servo/webrender#3361 Differential Revision: https://phabricator.services.mozilla.com/D13246
…67e04913e9fb (WR PR #3361). r=kats servo/webrender#3361 Differential Revision: https://phabricator.services.mozilla.com/D13246 UltraBlame original commit: 3dcdcddd94ff74e05fb4793e970433772ac99098
…67e04913e9fb (WR PR #3361). r=kats servo/webrender#3361 Differential Revision: https://phabricator.services.mozilla.com/D13246 UltraBlame original commit: 3dcdcddd94ff74e05fb4793e970433772ac99098
…67e04913e9fb (WR PR #3361). r=kats servo/webrender#3361 Differential Revision: https://phabricator.services.mozilla.com/D13246 UltraBlame original commit: 3dcdcddd94ff74e05fb4793e970433772ac99098
kvark commentedNov 27, 2018
•
edited
This PR addresses the part of #3358 about DL construction: instead of constructing the display items and associated data and passing through the serializer by value, we just pass the references around, which guarantees that no extra copies are made.
TODO:
This change is