angular-cn/packages
George Kalpakas e36e6c85ef perf(ngcc): process tasks in parallel in async mode (#32427)
`ngcc` supports both synchronous and asynchronous execution. The default
mode when using `ngcc` programmatically (which is how `@angular/cli` is
using it) is synchronous. When running `ngcc` from the command line
(i.e. via the `ivy-ngcc` script), it runs in async mode.

Previously, the work would be executed in the same way in both modes.

This commit improves the performance of `ngcc` in async mode by
processing tasks in parallel on multiple processes. It uses the Node.js
built-in [`cluster` module](https://nodejs.org/api/cluster.html) to
launch a cluster of Node.js processes and take advantage of multi-core
systems.

Preliminary comparisons indicate a 1.8x to 2.6x speed improvement when
processing the angular.io app (apparently depending on the OS, number of
available cores, system load, etc.). Further investigation is needed to
better understand these numbers and identify potential areas of
improvement.

Inspired by/Based on @alxhub's prototype: alxhub/angular@cb631bdb1
Original design doc: https://hackmd.io/uYG9CJrFQZ-6FtKqpnYJAA?view

Jira issue: [FW-1460](https://angular-team.atlassian.net/browse/FW-1460)

PR Close #32427
2019-09-09 15:55:13 -04:00
..
animations build: convert entry_point to label (#30627) 2019-06-11 00:03:11 +00:00
bazel feat(bazel): update to the latest `@microsoft/api-extractor` (#32185) 2019-08-30 13:55:32 -04:00
benchpress build: TypeScript 3.5 upgrade (#31615) 2019-07-25 17:05:23 -07:00
common refactor(core): move Meta methods that only have one version from DomAdapter (#32408) 2019-09-03 11:59:39 -07:00
compiler fix(ivy): unable to bind to properties that start with class or style (#32421) 2019-09-05 18:10:08 -04:00
compiler-cli perf(ngcc): process tasks in parallel in async mode (#32427) 2019-09-09 15:55:13 -04:00
core test: switch away from deprecated "runSchematic" function (#32557) 2019-09-09 12:22:37 -04:00
docs
elements fix(elements): handle falsy initial value (#31604) 2019-07-18 14:26:37 -07:00
examples docs(service-worker): add example app for `SwPush` API docs (#32139) 2019-08-27 16:18:53 -07:00
forms refactor: Move `dom_adapter.ts` to `@angular/common` (#32154) 2019-08-29 21:51:56 -07:00
http refactor: Move `dom_adapter.ts` to `@angular/common` (#32154) 2019-08-29 21:51:56 -07:00
language-service fix(language-service): Return empty external files during project initialization (#32519) 2019-09-09 12:22:19 -04:00
localize feat(ivy): implement `$localize()` global function (#31609) 2019-08-30 12:53:25 -07:00
platform-browser fix(ivy): warn instead of throwing for unknown properties (#32463) 2019-09-06 13:15:03 -04:00
platform-browser-dynamic refactor(core): move Meta methods that only have one version from DomAdapter (#32408) 2019-09-03 11:59:39 -07:00
platform-server refactor(core): move Meta methods that only have one version from DomAdapter (#32408) 2019-09-03 11:59:39 -07:00
platform-webworker refactor(core): move Meta methods that only have one version from DomAdapter (#32408) 2019-09-03 11:59:39 -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 refactor(core): move Meta methods that only have one version from DomAdapter (#32408) 2019-09-03 11:59:39 -07:00
service-worker feat(service-worker): recover from `EXISTING_CLIENTS_ONLY` mode when there is a valid update (#31865) 2019-09-04 15:41:04 -07:00
upgrade refactor(upgrade): avoid using static inherited method (#31986) 2019-08-05 10:01:33 -07:00
zone.js fix(zone.js): a path traversal attack in test (#32392) 2019-08-30 12:44:46 -07:00
BUILD.bazel refactor(core): ensure compatibility with typescript strict flag (#30993) 2019-07-18 14:21:25 -07:00
README.md
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
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

README.md

Angular

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

License: MIT