angular-cn/packages/compiler-cli/test/compliance
Matias Niemelä dcdb433b7d perf(ivy): apply [style]/[class] bindings directly to style/className (#33336)
This patch ensures that the `[style]` and `[class]` based bindings
are directly applied to an element's style and className attributes.

This patch optimizes the algorithm so that it...
- Doesn't construct an update an instance of `StylingMapArray` for
  `[style]` and `[class]` bindings
- Doesn't apply `[style]` and `[class]` based entries using
  `classList` and `style` (direct attributes are used instead)
- Doesn't split or iterate over all string-based tokens in a
  string value obtained from a `[class]` binding.

This patch speeds up the following cases:
- `<div [class]>` and `<div class="..." [class]>`
- `<div [style]>` and `<div style="..." [style]>`

The overall speec increase is by over 5x.

PR Close #33336
2019-10-24 17:42:46 -07:00
..
BUILD.bazel refactor(ivy): implement a virtual file-system layer in ngtsc + ngcc (#30921) 2019-06-25 16:25:24 -07:00
README.md build: use bazel version from node modules (#26691) 2018-10-30 16:19:13 -04:00
mock_compile.ts refactor(ivy): update the compiler to emit `$localize` tags (#31609) 2019-08-30 12:53:26 -07:00
mock_compiler_spec.ts test(compiler-cli): compliance tests not always reporting test failure (#30597) 2019-05-22 16:22:52 -07:00
r3_compiler_compliance_spec.ts test: clean up explicit dynamic query usages (#33015) 2019-10-17 16:10:10 -04:00
r3_view_compiler_binding_spec.ts refactor(core): rename ngDirectiveDef to ɵdir (#33110) 2019-10-14 16:20:11 +00:00
r3_view_compiler_di_spec.ts refactor(core): rename ngInjectableDef to ɵprov (#33151) 2019-10-16 16:36:19 -04:00
r3_view_compiler_directives_spec.ts refactor(core): rename ngFactoryDef to ɵfac (#33116) 2019-10-14 20:27:25 +00:00
r3_view_compiler_i18n_spec.ts feat: typescript 3.6 support (#32946) 2019-10-18 13:15:16 -04:00
r3_view_compiler_input_outputs_spec.ts refactor(core): rename ngDirectiveDef to ɵdir (#33110) 2019-10-14 16:20:11 +00:00
r3_view_compiler_listener_spec.ts refactor(core): rename ngFactoryDef to ɵfac (#33116) 2019-10-14 20:27:25 +00:00
r3_view_compiler_providers_spec.ts refactor(core): rename ngFactoryDef to ɵfac (#33116) 2019-10-14 20:27:25 +00:00
r3_view_compiler_spec.ts perf(ivy): chain multiple property instructions (#31078) 2019-06-19 15:42:37 -07:00
r3_view_compiler_styling_spec.ts perf(ivy): apply [style]/[class] bindings directly to style/className (#33336) 2019-10-24 17:42:46 -07:00
r3_view_compiler_template_spec.ts perf(ivy): move attributes array into component def (#32798) 2019-10-09 13:16:55 -07:00

README.md

Tests in this directory should be run with:

yarn bazel test --define=compile=aot  packages/compiler-cli/test/compliance:compliance