Skip to content

Add perf testing #68

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

Merged
merged 10 commits into from
Sep 24, 2020
Merged

Add perf testing #68

merged 10 commits into from
Sep 24, 2020

Conversation

j-f1
Copy link
Member

@j-f1 j-f1 commented Sep 21, 2020

Full history is over here if you want to look at a bunch of terribly-worded commit messages.

This will not work on commits from forked repos, but if we find those are a big source of contributions, we can try to figure something out. Otherwise the text of the comment should be available in the check output if the GitHub token does not work.

Something I’m noticing about this is that performance varies a lot even without changes to the code. Not sure where that comes from but we should track it down so the benchmarks are useful.

@j-f1 j-f1 linked an issue Sep 21, 2020 that may be closed by this pull request
@j-f1 j-f1 changed the base branch from master to test-perf-tests September 21, 2020 21:48
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
Copy link

github-actions bot commented Sep 21, 2020

Time Change: -628.5ms (4%)

Total Time: 14,469ms

Test name Duration Change
Serialization/Write JavaScript number directly 184.5ms -11ms (5%)
Serialization/Swift Int to JavaScript 5,165.5ms -429ms (8%)
ℹ️ View Unchanged
Test name Duration Change
Serialization/Write JavaScript string directly 191ms 0ms
Serialization/Swift String to JavaScript 5,357.5ms -201ms (3%)
Object heap/Increment and decrement RC 3,570.5ms +12.5ms (0%)

performance-action

@j-f1 j-f1 marked this pull request as ready for review September 21, 2020 22:11
Copy link
Member

@kateinoigakukun kateinoigakukun left a comment

Choose a reason for hiding this comment

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

Awesome feature! Could you move perf-tester directory under ci directory like this repo because this tester only run on CI

@j-f1
Copy link
Member Author

j-f1 commented Sep 22, 2020

I pushed a change that runs both benchmarks twice in parallel, then averages the results. Hopefully that will decrease variability without hurting build time.

async function run(octokit, context, token) {
const { number: pull_number } = context.issue;

const pr = context.payload.pull_request;
Copy link
Contributor

Choose a reason for hiding this comment

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

Could we have a .prettierrc file added to the repository and make formatting consistent here with the rest of the .ts and .js files that use 4 spaces for indentation?

Copy link
Member Author

Choose a reason for hiding this comment

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

Sure! Do you think it makes sense to add a package.json to the root of the project so the various JS parts (IntegrationTests, Runtime, perf-tester) each use the same version of Prettier?

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't have a clear preference here. @kateinoigakukun WDYT?

Copy link
Member

Choose a reason for hiding this comment

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

I think it's reasonable to put package.json on the project root.

Copy link
Contributor

@MaxDesiatov MaxDesiatov left a comment

Choose a reason for hiding this comment

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

Thanks! 👍

@j-f1 j-f1 merged commit 25b0cd0 into test-perf-tests Sep 24, 2020
@j-f1 j-f1 deleted the perf-tests branch September 24, 2020 12:57
@j-f1 j-f1 restored the perf-tests branch September 24, 2020 13:36
@j-f1 j-f1 mentioned this pull request Sep 24, 2020
@MaxDesiatov MaxDesiatov deleted the perf-tests branch September 25, 2020 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Automatic performance testing
3 participants