test(ivy): introduce a benchmark for duplicate map-based style/class bindings (#33608)

Prior to this patch all the styling benchmarks only tested for
template map-based style/class bindings. Because of each of the bindings
being only present in the template, there was no possibility of
there being any duplicate map-based styling bindings.

This benchmark introduces benchmarking for map-based style/class bindings
that are evaluated from both template bindings as well as directives.

This benchmark can be executed by calling:

```
bazel build //packages/core/test/render3/perf:duplicate_map_based_style_and_class_bindings_lib.min_debug.es2015.js

node dist/bin/packages/core/test/render3/perf/duplicate_map_based_style_and_class_bindings_lib.min_debug.es2015.js
```

The benchmark is also run via the `profile_all.js` script (found in
`packages/core/test/render3/perf/`)

PR Close #33608
This commit is contained in:
Matias Niemelä
2019-11-05 14:54:12 -08:00
committed by Andrew Scott
parent 9df1178fe7
commit 4f69ff7e85
2 changed files with 188 additions and 0 deletions

View File

@ -189,3 +189,16 @@ ng_benchmark(
name = "duplicate_style_and_class_bindings",
bundle = ":duplicate_style_and_class_bindings_lib",
)
ng_rollup_bundle(
name = "duplicate_map_based_style_and_class_bindings_lib",
entry_point = ":duplicate_map_based_style_and_class_bindings/index.ts",
deps = [
":perf_lib",
],
)
ng_benchmark(
name = "duplicate_map_based_style_and_class_bindings",
bundle = ":duplicate_map_based_style_and_class_bindings_lib",
)