build: add ng_benchmark macro to run perf benchmarks (#33389)
this makes running and profiling tests much easier. Example usage: ``` yarn bazel run --define=compile=aot //packages/core/test/render3/perf:noop_change_detection ``` See README.md update for more info. PS: I considered moving the ng_rollup bundle into the macro but I didn't want to make too many changes in this PR. If we find running benchmarks in this way useful, we should refactor the build file more, and move the ng_rollup_bundle targets into the macro. PR Close #33389
This commit is contained in:

committed by
Andrew Kushnir

parent
14c4b1b205
commit
4b81bb5c97
@ -1,6 +1,6 @@
|
||||
package(default_visibility = ["//visibility:private"])
|
||||
|
||||
load("//tools:defaults.bzl", "jasmine_node_test", "ng_rollup_bundle", "ts_library")
|
||||
load("//tools:defaults.bzl", "jasmine_node_test", "ng_benchmark", "ng_rollup_bundle", "ts_library")
|
||||
|
||||
ts_library(
|
||||
name = "perf_lib",
|
||||
@ -22,89 +22,144 @@ jasmine_node_test(
|
||||
)
|
||||
|
||||
ng_rollup_bundle(
|
||||
name = "class_binding",
|
||||
name = "class_binding_lib",
|
||||
entry_point = ":class_binding/index.ts",
|
||||
deps = [
|
||||
":perf_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ng_benchmark(
|
||||
name = "class_binding",
|
||||
bundle = ":class_binding_lib",
|
||||
)
|
||||
|
||||
ng_rollup_bundle(
|
||||
name = "directive_instantiate",
|
||||
name = "directive_instantiate_lib",
|
||||
entry_point = ":directive_instantiate/index.ts",
|
||||
deps = [
|
||||
":perf_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ng_benchmark(
|
||||
name = "directive_instantiate",
|
||||
bundle = ":directive_instantiate_lib",
|
||||
)
|
||||
|
||||
ng_rollup_bundle(
|
||||
name = "element_text_create",
|
||||
name = "element_text_create_lib",
|
||||
entry_point = ":element_text_create/index.ts",
|
||||
deps = [
|
||||
":perf_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ng_benchmark(
|
||||
name = "element_text_create",
|
||||
bundle = ":element_text_create_lib",
|
||||
)
|
||||
|
||||
ng_rollup_bundle(
|
||||
name = "interpolation",
|
||||
name = "interpolation_lib",
|
||||
entry_point = ":interpolation/index.ts",
|
||||
deps = [
|
||||
":perf_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ng_benchmark(
|
||||
name = "interpolation",
|
||||
bundle = ":interpolation_lib",
|
||||
)
|
||||
|
||||
ng_rollup_bundle(
|
||||
name = "listeners",
|
||||
name = "listeners_lib",
|
||||
entry_point = ":listeners/index.ts",
|
||||
deps = [
|
||||
":perf_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ng_benchmark(
|
||||
name = "listeners",
|
||||
bundle = ":listeners_lib",
|
||||
)
|
||||
|
||||
ng_rollup_bundle(
|
||||
name = "noop_change_detection",
|
||||
name = "noop_change_detection_lib",
|
||||
entry_point = ":noop_change_detection/index.ts",
|
||||
deps = [
|
||||
":perf_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ng_benchmark(
|
||||
name = "noop_change_detection",
|
||||
bundle = ":noop_change_detection_lib",
|
||||
)
|
||||
|
||||
ng_rollup_bundle(
|
||||
name = "property_binding",
|
||||
name = "property_binding_lib",
|
||||
entry_point = ":property_binding/index.ts",
|
||||
deps = [
|
||||
":perf_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ng_benchmark(
|
||||
name = "property_binding",
|
||||
bundle = ":property_binding_lib",
|
||||
)
|
||||
|
||||
ng_rollup_bundle(
|
||||
name = "property_binding_update",
|
||||
name = "property_binding_update_lib",
|
||||
entry_point = ":property_binding_update/index.ts",
|
||||
deps = [
|
||||
":perf_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ng_benchmark(
|
||||
name = "property_binding_update",
|
||||
bundle = ":property_binding_update_lib",
|
||||
)
|
||||
|
||||
ng_rollup_bundle(
|
||||
name = "style_binding",
|
||||
name = "style_binding_lib",
|
||||
entry_point = ":style_binding/index.ts",
|
||||
deps = [
|
||||
":perf_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ng_benchmark(
|
||||
name = "style_binding",
|
||||
bundle = ":style_binding_lib",
|
||||
)
|
||||
|
||||
ng_rollup_bundle(
|
||||
name = "style_and_class_bindings",
|
||||
name = "style_and_class_bindings_lib",
|
||||
entry_point = ":style_and_class_bindings/index.ts",
|
||||
deps = [
|
||||
":perf_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ng_benchmark(
|
||||
name = "style_and_class_bindings",
|
||||
bundle = ":style_and_class_bindings_lib",
|
||||
)
|
||||
|
||||
ng_rollup_bundle(
|
||||
name = "map_based_style_and_class_bindings",
|
||||
name = "map_based_style_and_class_bindings_lib",
|
||||
entry_point = ":map_based_style_and_class_bindings/index.ts",
|
||||
deps = [
|
||||
":perf_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ng_benchmark(
|
||||
name = "map_based_style_and_class_bindings",
|
||||
bundle = ":map_based_style_and_class_bindings_lib",
|
||||
)
|
||||
|
Reference in New Issue
Block a user