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

perf: remove stale runnables obj #23737

Merged
merged 3 commits into from
Sep 8, 2022
Merged

Conversation

emilyrohrbough
Copy link
Member

@emilyrohrbough emilyrohrbough commented Sep 8, 2022

Apart of #23391
Apart of #21135

While profile Cypress to determine the memory impact we have, I noticed we are collecting all of the runnables in an object when we normalize the spec, however we are doing nothing with this data. Each runnable reference include data about its suites, hooks, tests, parent (including parent's suites, hooks, tests).

Deleting this code to reduce our memory footprint. The performance will be relative to the size of the spec being ran.

Some examples:

Screen Shot 2022-09-08 at 4 37 17 PM

Screen Shot 2022-09-08 at 4 37 40 PM

Screen Shot 2022-09-08 at 4 38 23 PM

User facing changelog

I'd all recent performance improvements as one line-item

PR Tasks

  • [n/a] Have tests been added/updated?
  • [n/a] Has the original issue (or this PR, if no issue exists) been tagged with a release in ZenHub? (user-facing changes only)
  • [n/a] Has a PR for user-facing changes been opened in cypress-documentation?
  • [n/a] Have API changes been updated in the type definitions?

@cypress-bot
Copy link
Contributor

cypress-bot bot commented Sep 8, 2022

Thanks for taking the time to open a PR!

@cypress
Copy link

cypress bot commented Sep 8, 2022



Test summary

40010 0 3346 0Flakiness 1


Run details

Project cypress
Status Passed
Commit f1a3db1
Started Sep 8, 2022 9:52 PM
Ended Sep 8, 2022 10:07 PM
Duration 15:10 💡
OS Linux Debian - 11.3
Browser Multiple

View run in Cypress Dashboard ➡️


Flakiness

cypress/e2e/e2e/origin/commands/log.cy.ts Flakiness
1 cy.origin log > logs in primary and secondary origins

This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. You can manage this integration in this project's settings in the Cypress Dashboard

@BlueWinds
Copy link
Contributor

Great change. Runnables keep references to all sorts of information, IIRC, so they can be fairly large.

@emilyrohrbough emilyrohrbough merged commit 0f00d4c into develop Sep 8, 2022
@emilyrohrbough emilyrohrbough deleted the remove-stale-runnables-obj branch September 8, 2022 22:19
@cypress-bot
Copy link
Contributor

cypress-bot bot commented Sep 13, 2022

Released in 10.8.0.

This comment thread has been locked. If you are still experiencing this issue after upgrading to
Cypress v10.8.0, please open a new issue.

@cypress-bot cypress-bot bot locked as resolved and limited conversation to collaborators Sep 13, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants