Skip to content
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

Reporter slows down due to creating an unreasonable number of DOM nodes #15880

Closed
agg23 opened this issue Apr 8, 2021 · 2 comments
Closed

Reporter slows down due to creating an unreasonable number of DOM nodes #15880

agg23 opened this issue Apr 8, 2021 · 2 comments
Labels

Comments

@agg23
Copy link
Contributor

agg23 commented Apr 8, 2021

Current behavior

Cypress slows down as more entries are added to the Reporter's Command Log. This results in exponential growth of total test time whenever the Command Log is visible (though luckily it's a small exponent). Further investigation showed the Command component renders 27+ DOM nodes (there are also React Portals, so even more than 27). Google Lighthouse recommends that the total count of DOM elements should remain below 1,500. Larger tests can easily reach 15,000+ DOM nodes, which is the likely source of the slowdown.

Desired behavior

Cypress does not slow down based on the number of rendered Commands. Additionally, the DOM footprint of the application should be minimized.

@agg23 agg23 added the type: performance 🏃‍♀️ Performance related label Apr 8, 2021
@agg23 agg23 self-assigned this Apr 12, 2021
@jennifer-shehane
Copy link
Member

jennifer-shehane commented Apr 22, 2021

Yes, we've seen this reported numerous times from users. @chrisbreiding spent A LOT of time trying to improve the rendering if you want to discuss with him any options he's already explored.

Some performance issues involving many DOM nodes with reproducible examples:

@BlueWinds
Copy link
Contributor

Just doing some cleanup as we begin looking into this internally; closing in favor of #4164, which contains links to a bunch of different examples.

Definitely a real issue, and closing doesn't mean we're not paying attention; just consolidating a bit as we start looking into this more seriously.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants