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

Linker performance #10453

Merged
merged 4 commits into from Feb 28, 2019

Conversation

Projects
None yet
3 participants
@zodern
Copy link
Collaborator

commented Feb 14, 2019

  • Updates source-map to 0.5.7 which includes some performance improvements for source nodes. In one app it saves up to 1.2 seconds during full rebuilds
  • Caches the stringified output of dynamic files instead of a source node, which allows skipping stringifying the source node when the dynamic file didn't change since the last build.
  • The main client bundle is not recreated when only dynamic files change. In one app this saves 2 - 3 seconds during rebuilds when a dynamic file is changed. It only stores the latest bundle in the cache for each architecture instead of waiting until the cache has reached its max size to remove old entries. That is to avoid increasing the tool's memory usage, though I am not sure if it is needed.

@smeijer smeijer referenced this pull request Feb 18, 2019

Merged

Write performance #10454

@sebakerckhof

This comment has been minimized.

Copy link
Contributor

commented Feb 28, 2019

On a related note. source-map 0.7.0+ has massive performance improvements with their rust/wasm implementation. @hwillson started looking into it, but because of the wasm loading, the constructor became a promise which didn't play well with it being wrapped in a 'noYieldsAllowed' block:

#9568 (comment)

It then never really was looked into further, but maybe @zodern feels like it 😅

@benjamn
Copy link
Member

left a comment

Looks good! Just a few small suggestions.

Show resolved Hide resolved tools/isobuild/linker.js Outdated
Show resolved Hide resolved tools/isobuild/linker.js Outdated
Show resolved Hide resolved tools/isobuild/linker.js Outdated
Show resolved Hide resolved tools/isobuild/linker.js Outdated
@@ -34,7 +34,7 @@ var packageJson = {
fstream: "https://github.com/meteor/fstream/tarball/cf4ea6c175355cec7bee38311e170d08c4078a5d",
tar: "2.2.1",
kexec: "3.0.0",
"source-map": "0.5.3",
"source-map": "0.5.7",

This comment has been minimized.

Copy link
@benjamn

benjamn Feb 28, 2019

Member

Note to self: this will require a new dev bundle.

@benjamn benjamn added this to the Release 1.8.1 milestone Feb 28, 2019

@benjamn benjamn force-pushed the zodern:linker-performance branch from 1ef095c to bf3a50f Feb 28, 2019

@benjamn benjamn force-pushed the meteor:release-1.8.1 branch 2 times, most recently from 3395bdb to 986e0a3 Feb 28, 2019

zodern and others added some commits Feb 4, 2019

@benjamn benjamn force-pushed the zodern:linker-performance branch from bf3a50f to bb564dd Feb 28, 2019

@benjamn benjamn merged commit ea86f86 into meteor:release-1.8.1 Feb 28, 2019

15 of 17 checks passed

ci/circleci: Isolated Tests CircleCI is running your tests
Details
continuous-integration/appveyor/pr Waiting for AppVeyor build to complete
Details
CLA Author has signed the Meteor CLA.
Details
ci/circleci: Docs Your tests passed on CircleCI!
Details
ci/circleci: Get Ready Your tests passed on CircleCI!
Details
ci/circleci: Test Group 0 Your tests passed on CircleCI!
Details
ci/circleci: Test Group 1 Your tests passed on CircleCI!
Details
ci/circleci: Test Group 10 Your tests passed on CircleCI!
Details
ci/circleci: Test Group 2 Your tests passed on CircleCI!
Details
ci/circleci: Test Group 3 Your tests passed on CircleCI!
Details
ci/circleci: Test Group 4 Your tests passed on CircleCI!
Details
ci/circleci: Test Group 5 Your tests passed on CircleCI!
Details
ci/circleci: Test Group 6 Your tests passed on CircleCI!
Details
ci/circleci: Test Group 7 Your tests passed on CircleCI!
Details
ci/circleci: Test Group 8 Your tests passed on CircleCI!
Details
ci/circleci: Test Group 9 Your tests passed on CircleCI!
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

benjamn added a commit that referenced this pull request Mar 9, 2019

Update CONTRIBUTING.md, adding @zodern as a collaborator.
Adding @zodern as a collaborator with write access (including
triage/review), based on contributions that demonstrate deep understanding
of the meteor/meteor codebase: #9887, #10399, #10452, #10453, #10454

Also updated other parts of CHANGELOG.md to reflect 2019 realities.

benjamn added a commit that referenced this pull request Mar 13, 2019

Update CONTRIBUTING.md, adding @zodern as a collaborator. (#10485)
Adding @zodern as a collaborator with write access (including
triage/review), based on contributions that demonstrate deep understanding
of the meteor/meteor codebase: #9887, #10399, #10452, #10453, #10454

Also updated other parts of CHANGELOG.md to reflect 2019 realities.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.