GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — fix(compiler-cli): inline type checking instructions no longer prevent incremental reuse by JoostK · Pull Request #42759 · angular/angular

Conversation

@JoostK

@JoostK JoostK commented Jul 3, 2021

Copy link
Copy Markdown
Member

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

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Splaktar and MarkJPerry reacted with thumbs up emoji
All reactions
  • 👍 2 reactions
@JoostK JoostK added target: patch This PR is targeted for the next patch release area: compiler Issues related to `ngc`, Angular's template compiler labels Jul 3, 2021
@ngbot ngbot Bot added this to the Backlog milestone Jul 3, 2021
@google-cla google-cla Bot added the cla: yes label Jul 3, 2021
@ngbot ngbot Bot added this to the Backlog milestone Jul 3, 2021
@JoostK JoostK mentioned this pull request Jul 3, 2021
Directives/components with generic type parameters may always be considered affected, even when not changed #42543
Closed
1 of 15 tasks
@JoostK
fix(compiler-cli): inline type checking instructions no longer preven…
dc39abe
…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 angular#42543
@JoostK
JoostK force-pushed the ngtsc/ttc/inline-reuse branch from 90ff32e to dc39abe Compare July 3, 2021 22:11
@JoostK
JoostK marked this pull request as ready for review July 3, 2021 23:00
@JoostK JoostK added the action: review The PR is still awaiting reviews from at least one requested reviewer label Jul 3, 2021
@pullapprove
pullapprove Bot requested a review from atscott July 3, 2021 23:01
atscott
atscott approved these changes Jul 7, 2021
View reviewed changes
@atscott

atscott commented Jul 7, 2021

Copy link
Copy Markdown
Contributor

presubmit

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@atscott atscott added action: merge The PR is ready for merge by the caretaker and removed action: review The PR is still awaiting reviews from at least one requested reviewer labels Jul 7, 2021
@atscott atscott closed this in 30c82cd Jul 7, 2021
atscott pushed a commit that referenced this pull request Jul 7, 2021
@JoostK @atscott
fix(compiler-cli): inline type checking instructions no longer preven…
0a17e98
…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
@JoostK JoostK mentioned this pull request Jul 13, 2021
Angular 12.1.0 big rebuild time #42799
Closed
1 of 15 tasks
@kjteh kjteh mentioned this pull request Jul 26, 2021
serve crashes randomly after upgrading to Angular 12 angular/angular-cli#20801
Closed
1 of 15 tasks
@angular-automatic-lock-bot

angular-automatic-lock-bot Bot commented Aug 7, 2021

Copy link
Copy Markdown

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@angular-automatic-lock-bot angular-automatic-lock-bot Bot locked and limited conversation to collaborators Aug 7, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Reviewers

@atscott atscott atscott approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

action: merge The PR is ready for merge by the caretaker area: compiler Issues related to `ngc`, Angular's template compiler cla: yes target: patch This PR is targeted for the next patch release

Projects

None yet

Milestone

Backlog

Development

Successfully merging this pull request may close these issues.

Directives/components with generic type parameters may always be considered affected, even when not changed

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@JoostK @atscott
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.