angular/packages
Pawel Kozlowski 10629600c5 perf(ivy): split hooks processing into init and check phases (#32131)
Angular hooks come after 2 flavours:
- init hooks (OnInit, AfterContentInit, AfterViewInit);
- check hooks (OnChanges, DoChanges, AfterContentChecked, AfterViewChecked).

We need to do more processing for init hooks to ensure that those hooks
are run once and only once for a given directive (even in case of errors).
As soon as all init hooks execute to completion we are only left with the
checks to execute.

It turns out that keeping track of the remaining init hooks to execute is
rather expensive (multiple LView flags reads, writes and checks). But we can
observe that non of this tracking is needed as soon as all init hooks are
completed.

This PR takes advantage of the above observations and splits hooks processing
functions into:
- init-specific (slower but less common);
- check-specific (faster and more common).

NOTE: there is code duplication in this PR and it is left like this intentinally:
hand-inlining this perf-critical code makes the view refresh process substentially
faster.

PR Close #32131
2019-08-21 11:44:27 -07:00
..
animations build: convert entry_point to label (#30627) 2019-06-11 00:03:11 +00:00
bazel perf: don't create holey arrays (#32155) 2019-08-21 08:27:43 -07:00
benchpress build: TypeScript 3.5 upgrade (#31615) 2019-07-25 17:05:23 -07:00
common fix(ivy): ngTemplateOutlet error when switching between null and template value (#32160) 2019-08-19 10:13:10 -07:00
compiler perf: don't create holey arrays (#32155) 2019-08-21 08:27:43 -07:00
compiler-cli feat(ivy): convert all ngtsc diagnostics to ts.Diagnostics (#31952) 2019-08-21 10:51:59 -07:00
core perf(ivy): split hooks processing into init and check phases (#32131) 2019-08-21 11:44:27 -07:00
docs
elements fix(elements): handle falsy initial value (#31604) 2019-07-18 14:26:37 -07:00
examples docs(forms): use a number as input value for formControlName (#30606) 2019-08-13 14:21:25 -07:00
forms feat(forms): formControlName also accepts a number (#30606) 2019-08-13 14:21:25 -07:00
http refactor: fix remaining typescript strict flag failures (#30993) 2019-07-18 14:21:25 -07:00
language-service test(language-service): Fix diagnostic tests (#32161) 2019-08-16 15:26:05 -07:00
platform-browser feat(ivy): make Hammer support tree-shakable (#32203) 2019-08-21 11:43:51 -07:00
platform-browser-dynamic perf(core): make sanitization tree-shakable in Ivy mode (#31934) 2019-08-15 10:30:12 -07:00
platform-server fix(ivy): DebugElement.triggerEventHandler not picking up events registered via Renderer2 (#31845) 2019-08-01 10:13:07 -07:00
platform-webworker perf: don't create holey arrays (#32155) 2019-08-21 08:27:43 -07:00
platform-webworker-dynamic build: convert entry_point to label (#30627) 2019-06-11 00:03:11 +00:00
private/testing test(ivy): add onlyInIvy perf counter expectations (#30339) 2019-05-09 11:22:00 -07:00
router docs(router): fix router description (#32136) 2019-08-14 14:09:02 -07:00
service-worker perf: don't create holey arrays (#32155) 2019-08-21 08:27:43 -07:00
upgrade refactor(upgrade): avoid using static inherited method (#31986) 2019-08-05 10:01:33 -07:00
zone.js release: cut the zone.js-0.10.2 release (#32128) 2019-08-13 16:55:04 -07:00
BUILD.bazel refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
empty.ts
goog.d.ts fix(ivy): use goog.LOCALE for Closure Compiler to define default LOCALE_ID (#31519) 2019-07-16 13:02:10 -04:00
license-banner.txt build: bump year (#27880) 2019-01-11 11:15:59 -08:00
README.md Revert "docs: Remove unneeded file (#18106)" 2017-07-20 16:46:47 -05:00
system.d.ts
tsconfig-build-no-strict.json refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
tsconfig-build.json refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
tsconfig-test.json refactor: fix typescript strict flag failures in all tests (#30993) 2019-07-18 14:21:26 -07:00
tsconfig.json refactor: fix typescript strict flag failures in all tests (#30993) 2019-07-18 14:21:26 -07:00
types.d.ts build: switch to typescript's es2015 typings (#28570) 2019-02-06 14:17:55 -05:00

Angular

The sources for this package are in the main Angular repo. Please file issues and pull requests against that repo.

License: MIT