angular/modules/benchmarks/src
Miško Hevery 5aabe93abe refactor(ivy): Switch styling to new reconcile algorithm (#34616)
NOTE: This change must be reverted with previous deletes so that it code remains in build-able state.

This change deletes old styling code and replaces it with a simplified styling algorithm.

The mental model for the new algorithm is:
- Create a linked list of styling bindings in the order of priority. All styling bindings ere executed in compiled order and than a linked list of bindings is created in priority order.
- Flush the style bindings at the end of `advance()` instruction. This implies that there are two flush events. One at the end of template `advance` instruction in the template. Second one at the end of `hostBindings` `advance` instruction when processing host bindings (if any).
- Each binding instructions effectively updates the string to represent the string at that location. Because most of the bindings are additive, this is a cheap strategy in most cases. In rare cases the strategy requires removing tokens from the styling up to this point. (We expect that to be rare case)S Because, the bindings are presorted in the order of priority, it is safe to resume the processing of the concatenated string from the last change binding.

PR Close #34616
2020-01-24 12:23:00 -08:00
..
class_bindings build: set default ts_devserver serving_path to /app_bundle.js to match g3 (#33996) 2019-11-26 16:09:32 -08:00
expanding_rows build: set default ts_devserver serving_path to /app_bundle.js to match g3 (#33996) 2019-11-26 16:09:32 -08:00
js-web-frameworks perf: rename index to index_aot (#34258) 2019-12-05 13:10:48 -08:00
largeform build: re-enable template type-checking for various targets across the repo (#34144) 2019-12-02 11:24:18 -08:00
largetable build: re-enable template type-checking for various targets across the repo (#34144) 2019-12-02 11:24:18 -08:00
old perf: don't create holey arrays (#32155) 2019-08-21 08:27:43 -07:00
styling refactor(ivy): Switch styling to new reconcile algorithm (#34616) 2020-01-24 12:23:00 -08:00
tree refactor(ivy): Switch styling to new reconcile algorithm (#34616) 2020-01-24 12:23:00 -08:00
views build: set default ts_devserver serving_path to /app_bundle.js to match g3 (#33996) 2019-11-26 16:09:32 -08:00
bootstrap_ng2.ts feat(core): upgrade rxjs to 6.0.0-alpha.4 (#22573) 2018-03-19 21:51:51 -07:00
bootstrap_plain.ts refactor(benchmarks): refactor to support AOT bootstrap in G3 (#12075) 2016-10-04 16:27:45 -07:00
BUILD.bazel style: enforce buildifier lint on CI (#28186) 2019-02-26 16:57:41 -08:00
README.md build(bazel): //modules/benchmarks/src/largetable/render3:perf bazel protractor test (#24788) 2018-07-24 08:26:16 -07:00
util.ts perf: report cold and minimal times when profiling in a browser (#33653) 2019-11-07 20:30:59 +00:00

Benchmark Directory Layout

Bazel

Under bazel the rules for laying out test files are slightly different. Use largetable/render3 as an example.

Put the perf file in current subdirectory (ie largetable) such that the same perf file can be used for each of the sub-subdirectories. (ie largetable/* should all be testable with the same perf file largetable/largetable_perf.spec.ts). Under bazel, typescript protractor spec files must end with .spec.ts or .test.ts.