Optimize build using shared package cache #72667
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What?
Applies a few optimizations to the build script:
importinstead offs.readFilefor loading JSON file contents (micro-benchmarking shows 2.5x faster†)Map#has+Map#get➡️Map#get)Overall impact is relatively modest, about 6% reduction in bundling phase time.
Benchmarking details
Bundling time measured by average of 5 runs after isolating build script to bundling phase:
Measured by
node bin/packages/build.mjs:Before: 1174, 1175, 1187, 1170, 1273 (average 1195.8)
After: 1338, 1202, 1261, 1179, 365 (average 1269)
Benchmarking script for
fs.readFilevs.import:Result:
Why?
Improve developer experience by optimizing build, ensuring scalability for large number of packages being built.
Testing Instructions
Verify build completes successfully: