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

👾 Add proof of concept leak test 👾 #1368

Closed
wants to merge 2 commits into from

Conversation

samccone
Copy link
Member

@samccone samccone commented Jul 8, 2015

I know this has been a longish time coming but here it is.
Ideally this will run in the same way that we run integration tests, based on the git diff.

This perf test is inline with all of my perf testing in that I have essentially codified the process here.

https://github.com/samccone/leaky provides us with the instrumentation layer so we do not have to worry about it and get to reuse all of our selenium work in our integration suite 💃 .

I currently have this hard coded to test against react, just to get some feedback on what everyone is thinking.


React:

initial snapshot: {"documents":3,"jsEventListeners":12,"jsHeapSizeUsed":9127312,"nodes":202}
end snapshot:     {"documents":3,"jsEventListeners":12,"jsHeapSizeUsed":10889192,"nodes":332}

node leak ^ as expected via #1332 (comment)

Vue

initial snapshot: {"documents":4,"jsEventListeners":7,"jsHeapSizeUsed":4696168,"nodes":293}
end snapshot:     {"documents":4,"jsEventListeners":7,"jsHeapSizeUsed":5681776,"nodes":383}

node leak ^ as expected via #1354

Angularjs

initial snapshot: {"documents":3,"jsEventListeners":8,"jsHeapSizeUsed":6224976,"nodes":594}
end snapshot:     {"documents":3,"jsEventListeners":8,"jsHeapSizeUsed":8055816,"nodes":684}

node leak ^ as expected via #1335

Knockoutjs

initial snapshot: {"documents":3,"jsEventListeners":7,"jsHeapSizeUsed":4346992,"nodes":273}
end snapshot:     {"documents":3,"jsEventListeners":37,"jsHeapSizeUsed":5414728,"nodes":363}

node and listener leak ^ as expected via #1334

Ember

initial snapshot: {"documents":3,"jsEventListeners":5,"jsHeapSizeUsed":15816152,"nodes":267}
end snapshot:     {"documents":3,"jsEventListeners":5,"jsHeapSizeUsed":17672328,"nodes":517}

node leak ^ as expected via #1333


^ is by no means a comprehensive run of all of the implementations just the ones I have run

@samccone samccone mentioned this pull request Jul 8, 2015
@samccone samccone changed the title Add proof of concept leak test 👾 Add proof of concept leak test 👾 Jul 8, 2015
@jasonLaster
Copy link
Contributor

Woot woot. Seriously cool stuff

var page = new Page(driver);
var initialSize = [];

driver.get('http://localhost:8000/examples/react');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm just react, yo?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I currently have this hard coded to test against react, just to get some feedback on what everyone is thinking.

@arthurvr
Copy link
Member

This is really neat work ⭐ 💯

@addyosmani
Copy link
Member

This is incredibly impressive work.

@arthurvr
Copy link
Member

Really cool work! I'm going to close this for now as this was more of a proof of concept. We can come back to this when we've got a final version :)

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

Successfully merging this pull request may close these issues.

4 participants