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

Precompile templates to speed up compile / new compiler pipeline #3605

Closed
tbosch opened this issue Aug 12, 2015 · 2 comments
Closed

Precompile templates to speed up compile / new compiler pipeline #3605

tbosch opened this issue Aug 12, 2015 · 2 comments
Assignees
Milestone

Comments

@tbosch
Copy link
Contributor

@tbosch tbosch commented Aug 12, 2015

Design doc is here

Overview of the new compile pipeline is here

Proved 3x faster bootstrap times and 8x faster compilation times.

@tbosch
Copy link
Contributor Author

@tbosch tbosch commented Aug 12, 2015

tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
The output of the compiler has to be the same
given the same input. Requiring a unique id for
every type already during compilation makes it
hard to parallelize compilation.

Part of angular#3605
tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of angular#3605
tbosch added a commit that referenced this issue Sep 29, 2015
The output of the compiler has to be the same
given the same input. Requiring a unique id for
every type already during compilation makes it
hard to parallelize compilation.

Part of #3605
Closes #4397
tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of angular#3605
tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of angular#3605
tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of angular#3605
tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of angular#3605
tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of angular#3605
tbosch added a commit that referenced this issue Sep 29, 2015
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of #3605
tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of angular#3605
tbosch added a commit to tbosch/angular that referenced this issue Oct 1, 2015
tbosch added a commit to tbosch/angular that referenced this issue Oct 1, 2015
tbosch added a commit to tbosch/angular that referenced this issue Oct 1, 2015
Closes angular#3605

BREAKING CHANGE:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  This changes the indices when using `DebugElement.componentViewChildren` / `DebugElement.children`.
- `@Directive.compileChildren` was removed,
  `ng-non-bindable` is now builtin and not a directive any more
- angular no more adds the `ng-binding` class to elements with bindings
- directives are now ordered as they are listed in the View.directives regarding change detection.
  Previously they had an undefined order.
- the `Renderer` interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.
- reprojection with `ng-content` is now all or nothing per `ng-content` element
- angular2 transformer can't be used in tests that modify directive metadata.
  Use `angular2/src/transform/inliner_for_test` transformer instead.
tbosch added a commit to tbosch/angular that referenced this issue Oct 1, 2015
tbosch added a commit to tbosch/angular that referenced this issue Oct 1, 2015
tbosch added a commit to tbosch/angular that referenced this issue Oct 1, 2015
Closes angular#3605

BREAKING CHANGE:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  This changes the indices when using `DebugElement.componentViewChildren` / `DebugElement.children`.
- `@Directive.compileChildren` was removed,
  `ng-non-bindable` is now builtin and not a directive any more
- angular no more adds the `ng-binding` class to elements with bindings
- directives are now ordered as they are listed in the View.directives regarding change detection.
  Previously they had an undefined order.
- the `Renderer` interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.
- reprojection with `ng-content` is now all or nothing per `ng-content` element
- angular2 transformer can't be used in tests that modify directive metadata.
  Use `angular2/src/transform/inliner_for_test` transformer instead.
@kegluneq kegluneq mentioned this issue Oct 1, 2015
tbosch added a commit to tbosch/angular that referenced this issue Oct 2, 2015
Closes angular#3605

BREAKING CHANGE:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  This changes the indices when using `DebugElement.componentViewChildren` / `DebugElement.children`.
- `@Directive.compileChildren` was removed,
  `ng-non-bindable` is now builtin and not a directive any more
- angular no more adds the `ng-binding` class to elements with bindings
- directives are now ordered as they are listed in the View.directives regarding change detection.
  Previously they had an undefined order.
- the `Renderer` interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.
- reprojection with `ng-content` is now all or nothing per `ng-content` element
- angular2 transformer can't be used in tests that modify directive metadata.
  Use `angular2/src/transform/inliner_for_test` transformer instead.
kegluneq pushed a commit that referenced this issue Oct 2, 2015
yjbanov added a commit that referenced this issue Oct 2, 2015
@tbosch tbosch closed this in 76247b7 Oct 2, 2015
@angular-automatic-lock-bot
Copy link

@angular-automatic-lock-bot angular-automatic-lock-bot bot commented Sep 7, 2019

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.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 7, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.