fix(compiler-cli): inline type checking instructions no longer prevent incremental reuse #42759
+140
−20
Conversation
1 of 15 tasks
…t incremental reuse Source files that contain directives or components that need an inline type constructor or inline template type-check block would always be considered as affected in incremental rebuilds. The inline operations cause the source file to be updated in the TypeScript program that is created for template type-checking, which becomes the reuse program in a subsequent incremental rebuild. In an incremental rebuild, the source files from the new user program are compared to those from the reuse program. The updated source files are not the same as the original source file from the user program, so the incremental engine would mark the file which needed inline operations as affected. This prevents incremental reuse for these files, causing sub-optimal rebuild performance. This commit attaches the original source file for source files that have been updated with inline operations, such that the incremental engine is able to compare source files using the original source file. Fixes #42543
atscott
added a commit
that referenced
this pull request
Jul 7, 2021
…t incremental reuse (#42759) Source files that contain directives or components that need an inline type constructor or inline template type-check block would always be considered as affected in incremental rebuilds. The inline operations cause the source file to be updated in the TypeScript program that is created for template type-checking, which becomes the reuse program in a subsequent incremental rebuild. In an incremental rebuild, the source files from the new user program are compared to those from the reuse program. The updated source files are not the same as the original source file from the user program, so the incremental engine would mark the file which needed inline operations as affected. This prevents incremental reuse for these files, causing sub-optimal rebuild performance. This commit attaches the original source file for source files that have been updated with inline operations, such that the incremental engine is able to compare source files using the original source file. Fixes #42543 PR Close #42759
1 of 15 tasks
1 of 15 tasks
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Source files that contain directives or components that need an inline
type constructor or inline template type-check block would always be
considered as affected in incremental rebuilds. The inline operations
cause the source file to be updated in the TypeScript program that is
created for template type-checking, which becomes the reuse program
in a subsequent incremental rebuild.
In an incremental rebuild, the source files from the new user program
are compared to those from the reuse program. The updated source files
are not the same as the original source file from the user program, so
the incremental engine would mark the file which needed inline
operations as affected. This prevents incremental reuse for these files,
causing sub-optimal rebuild performance.
This commit attaches the original source file for source files that have
been updated with inline operations, such that the incremental engine
is able to compare source files using the original source file.
Fixes #42543