perf(@angular/build): add persistent caching of JavaScript transformations #27635
+210
−7
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.
When caching is enabled for the Angular CLI, the JavaScript transformer within the application build system will now perform persistent caching of its output. This allows for improved warm build times by removing the need to run the Angular linker and build optimizer steps against unchanged third-party code within each build. This does not affect hot rebuilds that would take place during watch mode since the outputs are already cached within memory. The on-disk storage of the cached data is handled by the
lmdb
package which provides fast key/value storage and built-in off-thread compression. This package is currently used by such projects as Gatsby and parcel for their respective caching subsystems.Warm production build of a new 18.0.0-rc.2 project with disabled caching:
With enabled caching: