-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes #335: Prevent complex DOM workloads from hitting a specific WebKit pathology #338
Fixes #335: Prevent complex DOM workloads from hitting a specific WebKit pathology #338
Conversation
* Utility function to create css variants for big-dom-generator css * Introduce v2 variants
resources/todomvc/architecture-examples/angular-complex/scripts/build.js
Outdated
Show resolved
Hide resolved
resources/todomvc/architecture-examples/backbone-complex/scripts/build.js
Outdated
Show resolved
Hide resolved
resources/todomvc/architecture-examples/jquery-complex/scripts/build.js
Outdated
Show resolved
Hide resolved
resources/todomvc/architecture-examples/react-redux-complex/scripts/build.js
Outdated
Show resolved
Hide resolved
resources/todomvc/architecture-examples/vue-complex/scripts/build.js
Outdated
Show resolved
Hide resolved
I guess you left the ones we don't use complex DOM setup (i.e. only runs in non-complex setup) to be v1?? Is that what's happening here? |
Yes that's correct. |
Can we switch those to v2 as well so that when we enable them in developer menu, we'd get a meaningful measurement? |
@rniwa, would it make sense to keep two of the six (which only run in non-complex setup) to be v1 and the rest four v2? Just to be able to see the impact in the developer mode too? Maybe JQuery (or, Vue) and WebComponents with v1? WDYT? |
Is there a way to make the choice between v1 / v2 dynamic? |
@flashdesignory, |
@sulekhark - sounds good 👍 |
I'll let @julienw review, but I took a quick look and it's a relatively small change. Other than the file naming issue in the inline comment I don't have any particular concerns. I don't have a particular preference on the topic of which variant the non-enabled tests should use. We could always push preview branches in alternative configurations for testing locally & in CI. If I had to choose I suppose I would keep the current (non-isolation) variant as the default for non-enabled, since Lit & Web Components have unique styles from the other tests, so that would maintain the Web Components test as the only way to run (webcomponent style + non isolation). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left a few comments, with "request changes" because I'd like to see the result of the changes.
Thanks
resources/todomvc/big-dom-generator/dist/big-dom-generator-v1.css
Outdated
Show resolved
Hide resolved
* use dictionary instead * rename css * update names in build scripts * build all dists * improve error message
Confirmed with Ryosuke Niwa (via a 1:1 chat on slack) that the above proposed plan is good. So, for the todo tests that are not enabled in the complex setting Vue and WC will have variant 1 and Vanilla JS5, JQuery, Backbone, React-Redux will have Variant 2 - this will kick-in only in developer mode. Here's the final configuration (with Variants 1 and 2 renamed as suggested by all):
|
* update build scripts * update dists
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me, thanks
Thank you all! |
The PR Introduces a new variant of the Complex DOM shell.
Fixes #335.
big-dom.css
is the original complex DOM shell and this new variant -big-dom-with-stacking-context-scrollable.css
- is an introduction of the CSS propertyisolation: isolate
to the.tree-area
.The purpose of this variant is to is to vary complex DOM contents across the different subtests so as to avoid hitting the same pathology in every complex DOM workload.
Performance Measurements
We only report the performance results for the six TodoMVC tests that we run in the complex setting as well as the four tests that we run in the stand-alone setting but have been changed to use the new variant(big-dom-with-stacking-context-scrollable.css)
${\textsf{\color{green} }}$
Hosted at:
https://issackjohn.github.io/Speedometer5/