angular-cn/packages
JoostK 4945274080 perf(compiler): optimize cloning cursors state (#34332)
On a large compilation unit with big templates, the total time spent in
the `PlainCharacterCursor` constructor was 470ms. This commit applies
two optimizations to reduce this time:

1. Avoid the object spread operator within the constructor, as the
generated `__assign` helper in the emitted UMD bundle (ES5) does not
optimize well compared to a hardcoded object literal. This results in a
significant performance improvement. Because of the straight-forward
object literal, the VM is now much better able to optimize the memory
allocations which makes a significant difference as the
`PlainCharacterCursor` constructor is called in tight loops.

2. Reduce the number of `CharacterCursor` clones. Although cloning
itself is now much faster because of the optimization above, several
clone operations were not necessary.

Combined, these changes reduce the total time spent in the
`PlainCharacterCursor` constructor to just 10ms.

PR Close #34332
2019-12-12 14:06:37 -08:00
..
animations docs: add api doc to sub-packages (#33801) 2019-11-20 14:48:50 -08:00
bazel Revert "build: update @angular/bazel schematics to rules_nodejs 0.42.1" (#34360) 2019-12-11 15:58:46 -08:00
benchpress feat: update rxjs peerDependencies minimum requirment to 6.5.3 (#32812) 2019-10-01 14:56:45 -07:00
common style(common): remove unnecessary jsdoc type (#34369) 2019-12-12 11:05:41 -08:00
compiler perf(compiler): optimize cloning cursors state (#34332) 2019-12-12 14:06:37 -08:00
compiler-cli perf(ivy): use module resolution cache (#34332) 2019-12-12 14:06:37 -08:00
core test(core): fix schematics calls to run synchronously (#34364) 2019-12-12 13:14:29 -08:00
docs refactor(core): remove deprecated Renderer (#33019) 2019-10-08 09:23:00 -07:00
elements refactor(elements): ng-add schematics (#33723) 2019-11-22 17:36:47 -05:00
examples build: re-enable template type-checking for various targets across the repo (#34144) 2019-12-02 11:24:18 -08:00
forms Revert "refactor: use isObservable provided by rxjs 6.1+ (#27668)" 2019-11-27 13:00:59 -08:00
http build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
language-service fix(language-service): Simplify resolution logic in banner (#34262) 2019-12-06 10:27:30 -08:00
localize fix(ivy): i18n - remove `translate` function when clearing translations (#34346) 2019-12-11 13:19:22 -08:00
platform-browser refactor(platform-browser): avoid mutable exports. (#34207) 2019-12-05 10:19:12 -08:00
platform-browser-dynamic docs: add api doc to sub-packages (#33801) 2019-11-20 14:48:50 -08:00
platform-server docs: add api doc to sub-packages (#33801) 2019-11-20 14:48:50 -08:00
platform-webworker docs: add api doc to sub-packages (#33801) 2019-11-20 14:48:50 -08:00
platform-webworker-dynamic build: set up all packages to publish via wombot proxy (#33747) 2019-11-13 11:34:33 -08:00
private/testing build: migrate determining if Ivy is enabled in typescript genrule files to use angular_ivy_enabled (#33983) 2019-11-26 16:38:40 -05:00
router Revert "refactor: use isObservable provided by rxjs 6.1+ (#27668)" 2019-11-27 13:00:59 -08:00
service-worker fix(service-worker): allow creating post api requests after cache failure (#33930) 2019-11-22 13:15:56 -05:00
upgrade refactor(upgrade): avoid mutable exports. (#34232) 2019-12-05 10:19:48 -08:00
zone.js fix: implement Symbol.specics of Promise (#34162) 2019-12-03 10:29:04 -08:00
BUILD.bazel build: reference zone.js from source directly instead of npm. (#33046) 2019-11-06 00:48:34 +00:00
README.md docs: add doc reference to npm package readme (#33911) 2019-11-20 14:46:23 -08:00
empty.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
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 refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
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 build: consolidate @angular-devkit/build-angular to the root package.json (#34002) 2019-12-02 10:49:12 -08:00
types.d.ts build: reference zone.js from source directly instead of npm. (#33046) 2019-11-06 00:48:34 +00:00

README.md

Angular

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

Usage information and reference details can be found in Angular documentation.

License: MIT