diff --git a/cases/scenarios/self-build-src-public-api/scenario.json b/cases/scenarios/self-build-src-public-api/scenario.json new file mode 100644 index 0000000..85a6fcb --- /dev/null +++ b/cases/scenarios/self-build-src-public-api/scenario.json @@ -0,0 +1,14 @@ +{ + "name": "self-build-src-public-api", + "kind": "tsc", + "args": [ + "-b", + "${suiteDirectory}/self-build-src-public-api/src" + ], + "platforms": [ + "linux" + ], + "tscConfig": { + "usePublicApi": true + } +} diff --git a/cases/scenarios/self-build-src-public-api/setup.sh b/cases/scenarios/self-build-src-public-api/setup.sh new file mode 100755 index 0000000..072f110 --- /dev/null +++ b/cases/scenarios/self-build-src-public-api/setup.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -exo pipefail +cd "${0%/*}" + +export SCENARIO_REF=$TYPESCRIPT_COMMIT +source ../../cloneScenario.sh https://github.com/microsoft/TypeScript.git + +npm ci +if test -f Herebyfile.mjs; then + npx hereby generate-diagnostics +else + npx gulp generate-diagnostics +fi diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/baseline/compute.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/baseline/compute.snap index eba3f3c..bb69291 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/baseline/compute.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/baseline/compute.snap @@ -1,9 +1,9 @@ { "parallel": "43m 34s", "perAgent": { - "ts-perf1": "26m 54s", + "ts-perf1": "38m 26s", "ts-perf2": "43m 34s", "ts-perf3": "41m 28s", }, - "total": "1h 51m 56s", + "total": "2h 3m 28s", } \ No newline at end of file diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/baseline/matrix.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/baseline/matrix.snap index 013334e..3e3a38b 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/baseline/matrix.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/baseline/matrix.snap @@ -33,6 +33,14 @@ "TSPERF_JOB_NAME": "tsc_node_18_15_0_material_ui", "TSPERF_JOB_SCENARIO": "material-ui", }, + "tsc_node_18_15_0_self_build_src_public_api": { + "TSPERF_JOB_HOST": "node@18.15.0", + "TSPERF_JOB_ITERATIONS": 6, + "TSPERF_JOB_KIND": "tsc", + "TSPERF_JOB_LOCATION": "public", + "TSPERF_JOB_NAME": "tsc_node_18_15_0_self_build_src_public_api", + "TSPERF_JOB_SCENARIO": "self-build-src-public-api", + }, "tsc_node_18_15_0_self_compiler": { "TSPERF_JOB_HOST": "node@18.15.0", "TSPERF_JOB_ITERATIONS": 6, @@ -57,6 +65,14 @@ "TSPERF_JOB_NAME": "tsc_node_20_5_1_material_ui", "TSPERF_JOB_SCENARIO": "material-ui", }, + "tsc_node_20_5_1_self_build_src_public_api": { + "TSPERF_JOB_HOST": "node@20.5.1", + "TSPERF_JOB_ITERATIONS": 6, + "TSPERF_JOB_KIND": "tsc", + "TSPERF_JOB_LOCATION": "public", + "TSPERF_JOB_NAME": "tsc_node_20_5_1_self_build_src_public_api", + "TSPERF_JOB_SCENARIO": "self-build-src-public-api", + }, "tsc_node_20_5_1_self_compiler": { "TSPERF_JOB_HOST": "node@20.5.1", "TSPERF_JOB_ITERATIONS": 6, diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/baseline/outputVariables.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/baseline/outputVariables.snap index f7c845b..e25b8c1 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/baseline/outputVariables.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/baseline/outputVariables.snap @@ -1,6 +1,6 @@ { "MATRIX_any": "{}", - "MATRIX_ts_perf1": "{"startup_node_18_15_0_tsc_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsc_startup","TSPERF_JOB_SCENARIO":"tsc-startup"},"startup_node_18_15_0_typescript_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_typescript_startup","TSPERF_JOB_SCENARIO":"typescript-startup"},"tsc_node_18_15_0_Angular":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_18_15_0_material_ui":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_18_15_0_self_compiler":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_20_5_1_Angular":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_20_5_1_material_ui":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_20_5_1_self_compiler":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsserver_node_18_15_0_Compiler_UnionsTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_node_18_15_0_Compiler_UnionsTSServer","TSPERF_JOB_SCENARIO":"Compiler-UnionsTSServer"}}", + "MATRIX_ts_perf1": "{"startup_node_18_15_0_tsc_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsc_startup","TSPERF_JOB_SCENARIO":"tsc-startup"},"startup_node_18_15_0_typescript_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_typescript_startup","TSPERF_JOB_SCENARIO":"typescript-startup"},"tsc_node_18_15_0_Angular":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_18_15_0_material_ui":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_18_15_0_self_build_src_public_api":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_build_src_public_api","TSPERF_JOB_SCENARIO":"self-build-src-public-api"},"tsc_node_18_15_0_self_compiler":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_20_5_1_Angular":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_20_5_1_material_ui":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_20_5_1_self_build_src_public_api":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_self_build_src_public_api","TSPERF_JOB_SCENARIO":"self-build-src-public-api"},"tsc_node_20_5_1_self_compiler":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsserver_node_18_15_0_Compiler_UnionsTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_node_18_15_0_Compiler_UnionsTSServer","TSPERF_JOB_SCENARIO":"Compiler-UnionsTSServer"}}", "MATRIX_ts_perf10": "{}", "MATRIX_ts_perf11": "{}", "MATRIX_ts_perf12": "{}", diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/bun/compute.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/bun/compute.snap index 17c7fed..4b33042 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/bun/compute.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/bun/compute.snap @@ -1,7 +1,7 @@ { "parallel": "44m 8s", "perAgent": { - "any": "3h 8m 28s", + "any": "3h 30m 12s", }, - "total": "3h 8m 28s", + "total": "3h 30m 12s", } \ No newline at end of file diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/bun/matrix.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/bun/matrix.snap index 89e3dc3..3f5b7ce 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/bun/matrix.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/bun/matrix.snap @@ -80,6 +80,14 @@ "TSPERF_JOB_NAME": "tsc_bun_1_0_35_self_build_src", "TSPERF_JOB_SCENARIO": "self-build-src", }, + "tsc_bun_1_0_35_self_build_src_public_api": { + "TSPERF_JOB_HOST": "bun@1.0.35", + "TSPERF_JOB_ITERATIONS": 12, + "TSPERF_JOB_KIND": "tsc", + "TSPERF_JOB_LOCATION": "public", + "TSPERF_JOB_NAME": "tsc_bun_1_0_35_self_build_src_public_api", + "TSPERF_JOB_SCENARIO": "self-build-src-public-api", + }, "tsc_bun_1_0_35_self_compiler": { "TSPERF_JOB_HOST": "bun@1.0.35", "TSPERF_JOB_ITERATIONS": 12, diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/bun/outputVariables.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/bun/outputVariables.snap index a623b0c..84d52af 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/bun/outputVariables.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/bun/outputVariables.snap @@ -1,5 +1,5 @@ { - "MATRIX_any": "{"startup_bun_1_0_35_tsc_startup":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_bun_1_0_35_tsc_startup","TSPERF_JOB_SCENARIO":"tsc-startup"},"startup_bun_1_0_35_tsserverlibrary_startup":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_bun_1_0_35_tsserverlibrary_startup","TSPERF_JOB_SCENARIO":"tsserverlibrary-startup"},"startup_bun_1_0_35_typescript_startup":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_bun_1_0_35_typescript_startup","TSPERF_JOB_SCENARIO":"typescript-startup"},"tsc_bun_1_0_35_Angular":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_bun_1_0_35_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_bun_1_0_35_Compiler_Unions":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_bun_1_0_35_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_bun_1_0_35_Monaco":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_bun_1_0_35_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_bun_1_0_35_TFS":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_bun_1_0_35_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_bun_1_0_35_material_ui":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_bun_1_0_35_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_bun_1_0_35_mui_docs":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_bun_1_0_35_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_bun_1_0_35_self_build_src":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_bun_1_0_35_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_bun_1_0_35_self_compiler":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_bun_1_0_35_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_bun_1_0_35_vscode":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_bun_1_0_35_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_bun_1_0_35_webpack":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_bun_1_0_35_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_bun_1_0_35_xstate":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_bun_1_0_35_xstate","TSPERF_JOB_SCENARIO":"xstate"}}", + "MATRIX_any": "{"startup_bun_1_0_35_tsc_startup":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_bun_1_0_35_tsc_startup","TSPERF_JOB_SCENARIO":"tsc-startup"},"startup_bun_1_0_35_tsserverlibrary_startup":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_bun_1_0_35_tsserverlibrary_startup","TSPERF_JOB_SCENARIO":"tsserverlibrary-startup"},"startup_bun_1_0_35_typescript_startup":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_bun_1_0_35_typescript_startup","TSPERF_JOB_SCENARIO":"typescript-startup"},"tsc_bun_1_0_35_Angular":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_bun_1_0_35_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_bun_1_0_35_Compiler_Unions":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_bun_1_0_35_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_bun_1_0_35_Monaco":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_bun_1_0_35_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_bun_1_0_35_TFS":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_bun_1_0_35_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_bun_1_0_35_material_ui":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_bun_1_0_35_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_bun_1_0_35_mui_docs":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_bun_1_0_35_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_bun_1_0_35_self_build_src":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_bun_1_0_35_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_bun_1_0_35_self_build_src_public_api":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_bun_1_0_35_self_build_src_public_api","TSPERF_JOB_SCENARIO":"self-build-src-public-api"},"tsc_bun_1_0_35_self_compiler":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_bun_1_0_35_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_bun_1_0_35_vscode":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_bun_1_0_35_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_bun_1_0_35_webpack":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_bun_1_0_35_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_bun_1_0_35_xstate":{"TSPERF_JOB_HOST":"bun@1.0.35","TSPERF_JOB_ITERATIONS":12,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_bun_1_0_35_xstate","TSPERF_JOB_SCENARIO":"xstate"}}", "MATRIX_ts_perf1": "{}", "MATRIX_ts_perf10": "{}", "MATRIX_ts_perf11": "{}", diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/faster/compute.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/faster/compute.snap index 368fe46..bea6549 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/faster/compute.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/faster/compute.snap @@ -1,7 +1,7 @@ { "parallel": "22m 44s", "perAgent": { - "any": "1h 32m 4s", + "any": "1h 43m 36s", }, - "total": "1h 32m 4s", + "total": "1h 43m 36s", } \ No newline at end of file diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/faster/matrix.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/faster/matrix.snap index 0f10ead..b27d907 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/faster/matrix.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/faster/matrix.snap @@ -56,6 +56,14 @@ "TSPERF_JOB_NAME": "tsc_node_18_15_0_self_build_src", "TSPERF_JOB_SCENARIO": "self-build-src", }, + "tsc_node_18_15_0_self_build_src_public_api": { + "TSPERF_JOB_HOST": "node@18.15.0", + "TSPERF_JOB_ITERATIONS": 6, + "TSPERF_JOB_KIND": "tsc", + "TSPERF_JOB_LOCATION": "public", + "TSPERF_JOB_NAME": "tsc_node_18_15_0_self_build_src_public_api", + "TSPERF_JOB_SCENARIO": "self-build-src-public-api", + }, "tsc_node_18_15_0_self_compiler": { "TSPERF_JOB_HOST": "node@18.15.0", "TSPERF_JOB_ITERATIONS": 6, diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/faster/outputVariables.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/faster/outputVariables.snap index 4b29711..b4b73de 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/faster/outputVariables.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/faster/outputVariables.snap @@ -1,5 +1,5 @@ { - "MATRIX_any": "{"tsc_node_18_15_0_Angular":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_18_15_0_Compiler_Unions":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_node_18_15_0_Monaco":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_node_18_15_0_TFS":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_node_18_15_0_material_ui":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_18_15_0_mui_docs":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_node_18_15_0_self_build_src":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_node_18_15_0_self_compiler":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_18_15_0_vscode":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_node_18_15_0_webpack":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_node_18_15_0_xstate":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_xstate","TSPERF_JOB_SCENARIO":"xstate"}}", + "MATRIX_any": "{"tsc_node_18_15_0_Angular":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_18_15_0_Compiler_Unions":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_node_18_15_0_Monaco":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_node_18_15_0_TFS":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_node_18_15_0_material_ui":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_18_15_0_mui_docs":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_node_18_15_0_self_build_src":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_node_18_15_0_self_build_src_public_api":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_build_src_public_api","TSPERF_JOB_SCENARIO":"self-build-src-public-api"},"tsc_node_18_15_0_self_compiler":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_18_15_0_vscode":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_node_18_15_0_webpack":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_node_18_15_0_xstate":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_xstate","TSPERF_JOB_SCENARIO":"xstate"}}", "MATRIX_ts_perf1": "{}", "MATRIX_ts_perf10": "{}", "MATRIX_ts_perf11": "{}", diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/full/compute.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/full/compute.snap index 68e186f..1ff4287 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/full/compute.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/full/compute.snap @@ -1,7 +1,7 @@ { "parallel": "22m 44s", "perAgent": { - "any": "3h 43m 52s", + "any": "4h 6m 56s", }, - "total": "3h 43m 52s", + "total": "4h 6m 56s", } \ No newline at end of file diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/full/matrix.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/full/matrix.snap index bb98e5c..036b818 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/full/matrix.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/full/matrix.snap @@ -88,6 +88,14 @@ "TSPERF_JOB_NAME": "tsc_node_18_15_0_self_build_src", "TSPERF_JOB_SCENARIO": "self-build-src", }, + "tsc_node_18_15_0_self_build_src_public_api": { + "TSPERF_JOB_HOST": "node@18.15.0", + "TSPERF_JOB_ITERATIONS": 6, + "TSPERF_JOB_KIND": "tsc", + "TSPERF_JOB_LOCATION": "public", + "TSPERF_JOB_NAME": "tsc_node_18_15_0_self_build_src_public_api", + "TSPERF_JOB_SCENARIO": "self-build-src-public-api", + }, "tsc_node_18_15_0_self_compiler": { "TSPERF_JOB_HOST": "node@18.15.0", "TSPERF_JOB_ITERATIONS": 6, @@ -176,6 +184,14 @@ "TSPERF_JOB_NAME": "tsc_node_20_5_1_self_build_src", "TSPERF_JOB_SCENARIO": "self-build-src", }, + "tsc_node_20_5_1_self_build_src_public_api": { + "TSPERF_JOB_HOST": "node@20.5.1", + "TSPERF_JOB_ITERATIONS": 6, + "TSPERF_JOB_KIND": "tsc", + "TSPERF_JOB_LOCATION": "public", + "TSPERF_JOB_NAME": "tsc_node_20_5_1_self_build_src_public_api", + "TSPERF_JOB_SCENARIO": "self-build-src-public-api", + }, "tsc_node_20_5_1_self_compiler": { "TSPERF_JOB_HOST": "node@20.5.1", "TSPERF_JOB_ITERATIONS": 6, diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/full/outputVariables.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/full/outputVariables.snap index 72e9717..44934cb 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/full/outputVariables.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/full/outputVariables.snap @@ -1,5 +1,5 @@ { - "MATRIX_any": "{"startup_node_18_15_0_tsc_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsc_startup","TSPERF_JOB_SCENARIO":"tsc-startup"},"startup_node_18_15_0_tsserver_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsserver_startup","TSPERF_JOB_SCENARIO":"tsserver-startup"},"startup_node_18_15_0_tsserverlibrary_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsserverlibrary_startup","TSPERF_JOB_SCENARIO":"tsserverlibrary-startup"},"startup_node_18_15_0_typescript_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_typescript_startup","TSPERF_JOB_SCENARIO":"typescript-startup"},"tsc_node_18_15_0_Angular":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_18_15_0_Compiler_Unions":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_node_18_15_0_Monaco":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_node_18_15_0_TFS":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_node_18_15_0_material_ui":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_18_15_0_mui_docs":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_node_18_15_0_self_build_src":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_node_18_15_0_self_compiler":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_18_15_0_vscode":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_node_18_15_0_webpack":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_node_18_15_0_xstate":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_xstate","TSPERF_JOB_SCENARIO":"xstate"},"tsc_node_20_5_1_Angular":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_20_5_1_Compiler_Unions":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_node_20_5_1_Monaco":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_node_20_5_1_TFS":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_node_20_5_1_material_ui":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_20_5_1_mui_docs":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_node_20_5_1_self_build_src":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_node_20_5_1_self_compiler":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_20_5_1_vscode":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_node_20_5_1_webpack":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_node_20_5_1_xstate":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_xstate","TSPERF_JOB_SCENARIO":"xstate"},"tsserver_node_18_15_0_CompilerTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_node_18_15_0_CompilerTSServer","TSPERF_JOB_SCENARIO":"CompilerTSServer"},"tsserver_node_18_15_0_Compiler_UnionsTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_node_18_15_0_Compiler_UnionsTSServer","TSPERF_JOB_SCENARIO":"Compiler-UnionsTSServer"},"tsserver_node_18_15_0_xstateTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsserver_node_18_15_0_xstateTSServer","TSPERF_JOB_SCENARIO":"xstateTSServer"}}", + "MATRIX_any": "{"startup_node_18_15_0_tsc_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsc_startup","TSPERF_JOB_SCENARIO":"tsc-startup"},"startup_node_18_15_0_tsserver_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsserver_startup","TSPERF_JOB_SCENARIO":"tsserver-startup"},"startup_node_18_15_0_tsserverlibrary_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsserverlibrary_startup","TSPERF_JOB_SCENARIO":"tsserverlibrary-startup"},"startup_node_18_15_0_typescript_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_typescript_startup","TSPERF_JOB_SCENARIO":"typescript-startup"},"tsc_node_18_15_0_Angular":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_18_15_0_Compiler_Unions":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_node_18_15_0_Monaco":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_node_18_15_0_TFS":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_node_18_15_0_material_ui":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_18_15_0_mui_docs":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_node_18_15_0_self_build_src":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_node_18_15_0_self_build_src_public_api":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_build_src_public_api","TSPERF_JOB_SCENARIO":"self-build-src-public-api"},"tsc_node_18_15_0_self_compiler":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_18_15_0_vscode":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_node_18_15_0_webpack":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_node_18_15_0_xstate":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_xstate","TSPERF_JOB_SCENARIO":"xstate"},"tsc_node_20_5_1_Angular":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_20_5_1_Compiler_Unions":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_node_20_5_1_Monaco":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_node_20_5_1_TFS":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_node_20_5_1_material_ui":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_20_5_1_mui_docs":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_node_20_5_1_self_build_src":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_node_20_5_1_self_build_src_public_api":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_self_build_src_public_api","TSPERF_JOB_SCENARIO":"self-build-src-public-api"},"tsc_node_20_5_1_self_compiler":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_20_5_1_vscode":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_node_20_5_1_webpack":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_node_20_5_1_xstate":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_20_5_1_xstate","TSPERF_JOB_SCENARIO":"xstate"},"tsserver_node_18_15_0_CompilerTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_node_18_15_0_CompilerTSServer","TSPERF_JOB_SCENARIO":"CompilerTSServer"},"tsserver_node_18_15_0_Compiler_UnionsTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_node_18_15_0_Compiler_UnionsTSServer","TSPERF_JOB_SCENARIO":"Compiler-UnionsTSServer"},"tsserver_node_18_15_0_xstateTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsserver_node_18_15_0_xstateTSServer","TSPERF_JOB_SCENARIO":"xstateTSServer"}}", "MATRIX_ts_perf1": "{}", "MATRIX_ts_perf10": "{}", "MATRIX_ts_perf11": "{}", diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/public/compute.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/public/compute.snap index 746803e..8dbd0c9 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/public/compute.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/public/compute.snap @@ -1,7 +1,7 @@ { "parallel": "22m 44s", "perAgent": { - "any": "1h 7m 48s", + "any": "1h 19m 20s", }, - "total": "1h 7m 48s", + "total": "1h 19m 20s", } \ No newline at end of file diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/public/matrix.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/public/matrix.snap index 112fe9f..389855a 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/public/matrix.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/public/matrix.snap @@ -24,6 +24,14 @@ "TSPERF_JOB_NAME": "tsc_node_20_5_1_self_build_src", "TSPERF_JOB_SCENARIO": "self-build-src", }, + "tsc_node_20_5_1_self_build_src_public_api": { + "TSPERF_JOB_HOST": "node@20.5.1", + "TSPERF_JOB_ITERATIONS": 6, + "TSPERF_JOB_KIND": "tsc", + "TSPERF_JOB_LOCATION": "public", + "TSPERF_JOB_NAME": "tsc_node_20_5_1_self_build_src_public_api", + "TSPERF_JOB_SCENARIO": "self-build-src-public-api", + }, "tsc_node_20_5_1_self_compiler": { "TSPERF_JOB_HOST": "node@20.5.1", "TSPERF_JOB_ITERATIONS": 6, diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/public/outputVariables.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/public/outputVariables.snap index d698c56..f8bfc88 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/public/outputVariables.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/public/outputVariables.snap @@ -1,5 +1,5 @@ { - "MATRIX_any": "{"tsc_node_20_5_1_Compiler_Unions":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_node_20_5_1_mui_docs":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_node_20_5_1_self_build_src":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_node_20_5_1_self_compiler":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_20_5_1_vscode":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_node_20_5_1_webpack":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_webpack","TSPERF_JOB_SCENARIO":"webpack"}}", + "MATRIX_any": "{"tsc_node_20_5_1_Compiler_Unions":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_node_20_5_1_mui_docs":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_node_20_5_1_self_build_src":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_node_20_5_1_self_build_src_public_api":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_self_build_src_public_api","TSPERF_JOB_SCENARIO":"self-build-src-public-api"},"tsc_node_20_5_1_self_compiler":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_20_5_1_vscode":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_node_20_5_1_webpack":{"TSPERF_JOB_HOST":"node@20.5.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_20_5_1_webpack","TSPERF_JOB_SCENARIO":"webpack"}}", "MATRIX_ts_perf1": "{}", "MATRIX_ts_perf10": "{}", "MATRIX_ts_perf11": "{}", diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/regular/compute.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/regular/compute.snap index 624d6a9..26afff0 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/regular/compute.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/regular/compute.snap @@ -1,7 +1,7 @@ { "parallel": "22m 44s", "perAgent": { - "any": "2h 11m 48s", + "any": "2h 23m 20s", }, - "total": "2h 11m 48s", + "total": "2h 23m 20s", } \ No newline at end of file diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/regular/matrix.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/regular/matrix.snap index 7269915..a07fef5 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/regular/matrix.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/regular/matrix.snap @@ -88,6 +88,14 @@ "TSPERF_JOB_NAME": "tsc_node_18_15_0_self_build_src", "TSPERF_JOB_SCENARIO": "self-build-src", }, + "tsc_node_18_15_0_self_build_src_public_api": { + "TSPERF_JOB_HOST": "node@18.15.0", + "TSPERF_JOB_ITERATIONS": 6, + "TSPERF_JOB_KIND": "tsc", + "TSPERF_JOB_LOCATION": "public", + "TSPERF_JOB_NAME": "tsc_node_18_15_0_self_build_src_public_api", + "TSPERF_JOB_SCENARIO": "self-build-src-public-api", + }, "tsc_node_18_15_0_self_compiler": { "TSPERF_JOB_HOST": "node@18.15.0", "TSPERF_JOB_ITERATIONS": 6, diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/regular/outputVariables.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/regular/outputVariables.snap index 8c41467..35b1e10 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/regular/outputVariables.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/regular/outputVariables.snap @@ -1,5 +1,5 @@ { - "MATRIX_any": "{"startup_node_18_15_0_tsc_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsc_startup","TSPERF_JOB_SCENARIO":"tsc-startup"},"startup_node_18_15_0_tsserver_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsserver_startup","TSPERF_JOB_SCENARIO":"tsserver-startup"},"startup_node_18_15_0_tsserverlibrary_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsserverlibrary_startup","TSPERF_JOB_SCENARIO":"tsserverlibrary-startup"},"startup_node_18_15_0_typescript_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_typescript_startup","TSPERF_JOB_SCENARIO":"typescript-startup"},"tsc_node_18_15_0_Angular":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_18_15_0_Compiler_Unions":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_node_18_15_0_Monaco":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_node_18_15_0_TFS":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_node_18_15_0_material_ui":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_18_15_0_mui_docs":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_node_18_15_0_self_build_src":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_node_18_15_0_self_compiler":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_18_15_0_vscode":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_node_18_15_0_webpack":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_node_18_15_0_xstate":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_xstate","TSPERF_JOB_SCENARIO":"xstate"},"tsserver_node_18_15_0_CompilerTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_node_18_15_0_CompilerTSServer","TSPERF_JOB_SCENARIO":"CompilerTSServer"},"tsserver_node_18_15_0_Compiler_UnionsTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_node_18_15_0_Compiler_UnionsTSServer","TSPERF_JOB_SCENARIO":"Compiler-UnionsTSServer"},"tsserver_node_18_15_0_xstateTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsserver_node_18_15_0_xstateTSServer","TSPERF_JOB_SCENARIO":"xstateTSServer"}}", + "MATRIX_any": "{"startup_node_18_15_0_tsc_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsc_startup","TSPERF_JOB_SCENARIO":"tsc-startup"},"startup_node_18_15_0_tsserver_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsserver_startup","TSPERF_JOB_SCENARIO":"tsserver-startup"},"startup_node_18_15_0_tsserverlibrary_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_tsserverlibrary_startup","TSPERF_JOB_SCENARIO":"tsserverlibrary-startup"},"startup_node_18_15_0_typescript_startup":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_node_18_15_0_typescript_startup","TSPERF_JOB_SCENARIO":"typescript-startup"},"tsc_node_18_15_0_Angular":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_18_15_0_Compiler_Unions":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_node_18_15_0_Monaco":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_node_18_15_0_TFS":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_node_18_15_0_material_ui":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_18_15_0_mui_docs":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_node_18_15_0_self_build_src":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_node_18_15_0_self_build_src_public_api":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_build_src_public_api","TSPERF_JOB_SCENARIO":"self-build-src-public-api"},"tsc_node_18_15_0_self_compiler":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_18_15_0_vscode":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_node_18_15_0_webpack":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_node_18_15_0_xstate":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_xstate","TSPERF_JOB_SCENARIO":"xstate"},"tsserver_node_18_15_0_CompilerTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_node_18_15_0_CompilerTSServer","TSPERF_JOB_SCENARIO":"CompilerTSServer"},"tsserver_node_18_15_0_Compiler_UnionsTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_node_18_15_0_Compiler_UnionsTSServer","TSPERF_JOB_SCENARIO":"Compiler-UnionsTSServer"},"tsserver_node_18_15_0_xstateTSServer":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsserver_node_18_15_0_xstateTSServer","TSPERF_JOB_SCENARIO":"xstateTSServer"}}", "MATRIX_ts_perf1": "{}", "MATRIX_ts_perf10": "{}", "MATRIX_ts_perf11": "{}", diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/tsc-only/compute.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/tsc-only/compute.snap index 368fe46..bea6549 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/tsc-only/compute.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/tsc-only/compute.snap @@ -1,7 +1,7 @@ { "parallel": "22m 44s", "perAgent": { - "any": "1h 32m 4s", + "any": "1h 43m 36s", }, - "total": "1h 32m 4s", + "total": "1h 43m 36s", } \ No newline at end of file diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/tsc-only/matrix.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/tsc-only/matrix.snap index 0f10ead..b27d907 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/tsc-only/matrix.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/tsc-only/matrix.snap @@ -56,6 +56,14 @@ "TSPERF_JOB_NAME": "tsc_node_18_15_0_self_build_src", "TSPERF_JOB_SCENARIO": "self-build-src", }, + "tsc_node_18_15_0_self_build_src_public_api": { + "TSPERF_JOB_HOST": "node@18.15.0", + "TSPERF_JOB_ITERATIONS": 6, + "TSPERF_JOB_KIND": "tsc", + "TSPERF_JOB_LOCATION": "public", + "TSPERF_JOB_NAME": "tsc_node_18_15_0_self_build_src_public_api", + "TSPERF_JOB_SCENARIO": "self-build-src-public-api", + }, "tsc_node_18_15_0_self_compiler": { "TSPERF_JOB_HOST": "node@18.15.0", "TSPERF_JOB_ITERATIONS": 6, diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/tsc-only/outputVariables.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/tsc-only/outputVariables.snap index 4b29711..b4b73de 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/tsc-only/outputVariables.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/tsc-only/outputVariables.snap @@ -1,5 +1,5 @@ { - "MATRIX_any": "{"tsc_node_18_15_0_Angular":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_18_15_0_Compiler_Unions":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_node_18_15_0_Monaco":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_node_18_15_0_TFS":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_node_18_15_0_material_ui":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_18_15_0_mui_docs":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_node_18_15_0_self_build_src":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_node_18_15_0_self_compiler":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_18_15_0_vscode":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_node_18_15_0_webpack":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_node_18_15_0_xstate":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_xstate","TSPERF_JOB_SCENARIO":"xstate"}}", + "MATRIX_any": "{"tsc_node_18_15_0_Angular":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_node_18_15_0_Compiler_Unions":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_node_18_15_0_Monaco":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_node_18_15_0_TFS":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_node_18_15_0_material_ui":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_node_18_15_0_mui_docs":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_node_18_15_0_self_build_src":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_node_18_15_0_self_build_src_public_api":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_build_src_public_api","TSPERF_JOB_SCENARIO":"self-build-src-public-api"},"tsc_node_18_15_0_self_compiler":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_node_18_15_0_vscode":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_node_18_15_0_webpack":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_node_18_15_0_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_node_18_15_0_xstate":{"TSPERF_JOB_HOST":"node@18.15.0","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_node_18_15_0_xstate","TSPERF_JOB_SCENARIO":"xstate"}}", "MATRIX_ts_perf1": "{}", "MATRIX_ts_perf10": "{}", "MATRIX_ts_perf11": "{}", diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/vscode/compute.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/vscode/compute.snap index 624d6a9..26afff0 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/vscode/compute.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/vscode/compute.snap @@ -1,7 +1,7 @@ { "parallel": "22m 44s", "perAgent": { - "any": "2h 11m 48s", + "any": "2h 23m 20s", }, - "total": "2h 11m 48s", + "total": "2h 23m 20s", } \ No newline at end of file diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/vscode/matrix.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/vscode/matrix.snap index 75c9726..378eeec 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/vscode/matrix.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/vscode/matrix.snap @@ -88,6 +88,14 @@ "TSPERF_JOB_NAME": "tsc_vscode_1_82_1_self_build_src", "TSPERF_JOB_SCENARIO": "self-build-src", }, + "tsc_vscode_1_82_1_self_build_src_public_api": { + "TSPERF_JOB_HOST": "vscode@1.82.1", + "TSPERF_JOB_ITERATIONS": 6, + "TSPERF_JOB_KIND": "tsc", + "TSPERF_JOB_LOCATION": "public", + "TSPERF_JOB_NAME": "tsc_vscode_1_82_1_self_build_src_public_api", + "TSPERF_JOB_SCENARIO": "self-build-src-public-api", + }, "tsc_vscode_1_82_1_self_compiler": { "TSPERF_JOB_HOST": "vscode@1.82.1", "TSPERF_JOB_ITERATIONS": 6, diff --git a/scripts/src/__tests__/__file_snapshots__/generateMatrix/vscode/outputVariables.snap b/scripts/src/__tests__/__file_snapshots__/generateMatrix/vscode/outputVariables.snap index 6bc6a3b..2fc10c8 100644 --- a/scripts/src/__tests__/__file_snapshots__/generateMatrix/vscode/outputVariables.snap +++ b/scripts/src/__tests__/__file_snapshots__/generateMatrix/vscode/outputVariables.snap @@ -1,5 +1,5 @@ { - "MATRIX_any": "{"startup_vscode_1_82_1_tsc_startup":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_vscode_1_82_1_tsc_startup","TSPERF_JOB_SCENARIO":"tsc-startup"},"startup_vscode_1_82_1_tsserver_startup":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_vscode_1_82_1_tsserver_startup","TSPERF_JOB_SCENARIO":"tsserver-startup"},"startup_vscode_1_82_1_tsserverlibrary_startup":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_vscode_1_82_1_tsserverlibrary_startup","TSPERF_JOB_SCENARIO":"tsserverlibrary-startup"},"startup_vscode_1_82_1_typescript_startup":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_vscode_1_82_1_typescript_startup","TSPERF_JOB_SCENARIO":"typescript-startup"},"tsc_vscode_1_82_1_Angular":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_vscode_1_82_1_Compiler_Unions":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_vscode_1_82_1_Monaco":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_vscode_1_82_1_TFS":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_vscode_1_82_1_material_ui":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_vscode_1_82_1_mui_docs":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_vscode_1_82_1_self_build_src":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_vscode_1_82_1_self_compiler":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_vscode_1_82_1_vscode":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_vscode_1_82_1_webpack":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_vscode_1_82_1_xstate":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_xstate","TSPERF_JOB_SCENARIO":"xstate"},"tsserver_vscode_1_82_1_CompilerTSServer":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_vscode_1_82_1_CompilerTSServer","TSPERF_JOB_SCENARIO":"CompilerTSServer"},"tsserver_vscode_1_82_1_Compiler_UnionsTSServer":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_vscode_1_82_1_Compiler_UnionsTSServer","TSPERF_JOB_SCENARIO":"Compiler-UnionsTSServer"},"tsserver_vscode_1_82_1_xstateTSServer":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsserver_vscode_1_82_1_xstateTSServer","TSPERF_JOB_SCENARIO":"xstateTSServer"}}", + "MATRIX_any": "{"startup_vscode_1_82_1_tsc_startup":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_vscode_1_82_1_tsc_startup","TSPERF_JOB_SCENARIO":"tsc-startup"},"startup_vscode_1_82_1_tsserver_startup":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_vscode_1_82_1_tsserver_startup","TSPERF_JOB_SCENARIO":"tsserver-startup"},"startup_vscode_1_82_1_tsserverlibrary_startup":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_vscode_1_82_1_tsserverlibrary_startup","TSPERF_JOB_SCENARIO":"tsserverlibrary-startup"},"startup_vscode_1_82_1_typescript_startup":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"startup","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"startup_vscode_1_82_1_typescript_startup","TSPERF_JOB_SCENARIO":"typescript-startup"},"tsc_vscode_1_82_1_Angular":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_Angular","TSPERF_JOB_SCENARIO":"Angular"},"tsc_vscode_1_82_1_Compiler_Unions":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_Compiler_Unions","TSPERF_JOB_SCENARIO":"Compiler-Unions"},"tsc_vscode_1_82_1_Monaco":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_Monaco","TSPERF_JOB_SCENARIO":"Monaco"},"tsc_vscode_1_82_1_TFS":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_TFS","TSPERF_JOB_SCENARIO":"TFS"},"tsc_vscode_1_82_1_material_ui":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_material_ui","TSPERF_JOB_SCENARIO":"material-ui"},"tsc_vscode_1_82_1_mui_docs":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_mui_docs","TSPERF_JOB_SCENARIO":"mui-docs"},"tsc_vscode_1_82_1_self_build_src":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_self_build_src","TSPERF_JOB_SCENARIO":"self-build-src"},"tsc_vscode_1_82_1_self_build_src_public_api":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_self_build_src_public_api","TSPERF_JOB_SCENARIO":"self-build-src-public-api"},"tsc_vscode_1_82_1_self_compiler":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_self_compiler","TSPERF_JOB_SCENARIO":"self-compiler"},"tsc_vscode_1_82_1_vscode":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_vscode","TSPERF_JOB_SCENARIO":"vscode"},"tsc_vscode_1_82_1_webpack":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_webpack","TSPERF_JOB_SCENARIO":"webpack"},"tsc_vscode_1_82_1_xstate":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsc","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsc_vscode_1_82_1_xstate","TSPERF_JOB_SCENARIO":"xstate"},"tsserver_vscode_1_82_1_CompilerTSServer":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_vscode_1_82_1_CompilerTSServer","TSPERF_JOB_SCENARIO":"CompilerTSServer"},"tsserver_vscode_1_82_1_Compiler_UnionsTSServer":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"public","TSPERF_JOB_NAME":"tsserver_vscode_1_82_1_Compiler_UnionsTSServer","TSPERF_JOB_SCENARIO":"Compiler-UnionsTSServer"},"tsserver_vscode_1_82_1_xstateTSServer":{"TSPERF_JOB_HOST":"vscode@1.82.1","TSPERF_JOB_ITERATIONS":6,"TSPERF_JOB_KIND":"tsserver","TSPERF_JOB_LOCATION":"internal","TSPERF_JOB_NAME":"tsserver_vscode_1_82_1_xstateTSServer","TSPERF_JOB_SCENARIO":"xstateTSServer"}}", "MATRIX_ts_perf1": "{}", "MATRIX_ts_perf10": "{}", "MATRIX_ts_perf11": "{}", diff --git a/scripts/src/generateMatrix.ts b/scripts/src/generateMatrix.ts index 9a93f8b..d524662 100644 --- a/scripts/src/generateMatrix.ts +++ b/scripts/src/generateMatrix.ts @@ -90,6 +90,14 @@ const allScenarios: readonly BaseScenario[] = [ { kind: "tsc", name: "vscode", agent: "ts-perf3", location: "public", runIn: RunType.Any, cost: 107 }, { kind: "tsc", name: "self-compiler", agent: "ts-perf1", location: "public", runIn: RunType.Any, cost: 25 }, { kind: "tsc", name: "self-build-src", agent: "ts-perf2", location: "public", runIn: RunType.Any, cost: 51 }, + { + kind: "tsc", + name: "self-build-src-public-api", + agent: "ts-perf1", + location: "public", + runIn: RunType.Any, + cost: 51, + }, { kind: "tsc", name: "mui-docs", agent: "ts-perf2", location: "public", runIn: RunType.OnDemand, cost: 77 }, { kind: "tsc", name: "mui-docs-1", agent: "ts-perf2", location: "public", runIn: RunType.Baseline, cost: 77 }, { kind: "tsc", name: "webpack", agent: "ts-perf3", location: "public", runIn: RunType.OnDemand, cost: 22 }, diff --git a/scripts/src/runTsPerf.ts b/scripts/src/runTsPerf.ts index e08cfb9..4ea2c8c 100644 --- a/scripts/src/runTsPerf.ts +++ b/scripts/src/runTsPerf.ts @@ -125,20 +125,18 @@ async function getCommonBenchmarkArgs() { async function benchmarkTsc() { const builtDir = checkNonEmpty(args.builtDir, "Expected non-empty --builtDir"); - const tscPath = path.join(builtDir, "tsc.js"); const tsperfArgs = await getCommonBenchmarkArgs(); - await $`node ${tsperfExe} benchmark tsc --tsc ${tscPath} ${tsperfArgs}`; + await $`node ${tsperfExe} benchmark tsc --builtDir ${builtDir} ${tsperfArgs}`; } async function benchmarkTsserver() { const builtDir = checkNonEmpty(args.builtDir, "Expected non-empty --builtDir"); - const tsserverPath = path.join(builtDir, "tsserver.js"); const tsperfArgs = await getCommonBenchmarkArgs(); - await $`node ${tsperfExe} benchmark tsserver --tsserver ${tsserverPath} ${tsperfArgs}`; + await $`node ${tsperfExe} benchmark tsserver --builtDir ${builtDir} ${tsperfArgs}`; } async function benchmarkStartup() { diff --git a/ts-perf/packages/api/src/expansion.ts b/ts-perf/packages/api/src/expansion.ts index aa312ef..ca74c64 100644 --- a/ts-perf/packages/api/src/expansion.ts +++ b/ts-perf/packages/api/src/expansion.ts @@ -66,11 +66,11 @@ export class CompilerOptionsExpansionProvider extends ExpansionProvider { case "suitedirectory": return this.options.suite; case "tsc": - return this.options.tsc; + return path.join(this.options.builtDir, "tsc.js"); case "typescript": case "typescriptdir": case "typescriptdirectory": - return this.options.tsc && path.dirname(this.options.tsc); + return this.options.builtDir; } return undefined; @@ -92,11 +92,11 @@ export class TSServerOptionsExpansionProvider extends ExpansionProvider { case "suitedirectory": return this.options.suite; case "tsserver": - return this.options.tsserver; + return path.join(this.options.builtDir, "tsserver.js"); case "typescript": case "typescriptdir": case "typescriptdirectory": - return this.options.tsserver && path.dirname(this.options.tsserver); + return this.options.builtDir; } return undefined; diff --git a/ts-perf/packages/api/src/model/scenario.ts b/ts-perf/packages/api/src/model/scenario.ts index aa067ab..67e2366 100644 --- a/ts-perf/packages/api/src/model/scenario.ts +++ b/ts-perf/packages/api/src/model/scenario.ts @@ -10,6 +10,10 @@ const cachedScenarios = new Map(); export type ScenarioKind = "tsserver" | "tsc" | "startup"; +export interface TscConfig { + usePublicApi?: boolean; +} + export interface ScenarioComponents { name: string; kind: ScenarioKind; @@ -19,6 +23,7 @@ export interface ScenarioComponents { platforms?: string[]; configFile: string; tsserverConfig?: TSServerConfig; + tscConfig?: TscConfig; } export class Scenario { @@ -30,6 +35,7 @@ export class Scenario { public readonly platforms?: string[]; public readonly configFile: string; public readonly tsserverConfig?: TSServerConfig; + public readonly tscConfig?: TscConfig; public isLocal?: boolean; public isOverriding?: boolean; @@ -44,6 +50,7 @@ export class Scenario { disabled?: boolean; platforms?: string[]; tsserverConfig?: TSServerConfig; + tscConfig?: TscConfig; }, ) { if (kind === "tsserver" && !options?.tsserverConfig) { @@ -57,6 +64,7 @@ export class Scenario { this.platforms = options && options.platforms; this.configFile = configFile; this.tsserverConfig = options && options.tsserverConfig; + this.tscConfig = options && options.tscConfig; } public get supported() { @@ -239,6 +247,7 @@ export class Scenario { const { platforms = this.platforms } = components; const { configFile = this.configFile } = components; const { tsserverConfig = this.tsserverConfig } = components; + const { tscConfig = this.tscConfig } = components; if ( this.name === name && this.kind === kind @@ -256,6 +265,7 @@ export class Scenario { disabled, platforms, tsserverConfig, + tscConfig, }); } @@ -272,6 +282,7 @@ export class Scenario { disabled: this.disabled, platforms: this.platforms && this.platforms.slice(), tsserverConfig: this.tsserverConfig, + tscConfig: this.tscConfig, }; } } diff --git a/ts-perf/packages/api/src/options.ts b/ts-perf/packages/api/src/options.ts index 297fb9a..84ff281 100644 --- a/ts-perf/packages/api/src/options.ts +++ b/ts-perf/packages/api/src/options.ts @@ -4,13 +4,13 @@ import * as path from "node:path"; import { CommandLineOption, CommandLineOptionSet, CommandLineOptionSets, CommandLineParseError } from "power-options"; export interface CompilerOptions { - tsc: string; + builtDir: string; suite: string; compilerOptions?: string[]; } export interface TSServerOptions { - tsserver: string; + builtDir: string; suite: string; extended: boolean; } @@ -40,27 +40,29 @@ const suite: CommandLineOption = { description: "Use as the root location for test suites (i.e. './internal/cases/perf/solutions').", }; +const builtDir: CommandLineOption = { + type: "string", + validate: validatePath, + defaultValue() { + const builtDir = findPath(process.cwd(), "./built/local") + || (process.env.TYPESCRIPT_REPOSITORY + && findPath(process.env.TYPESCRIPT_REPOSITORY, "./built/local")) + || findPath(__dirname, "./built/local"); + if (!builtDir) { + throw new CommandLineParseError( + `Could not resolve the path to the built directory (i.e. './built/local'). Try specifying '--builtDir'.`, + ); + } + return builtDir; + }, + param: "directory", + description: "Use as the built local dir (i.e. './built/local').", +}; + const compiler: CommandLineOptionSet = { merge: true, options: { - tsc: { - type: "string", - validate: validatePath, - defaultValue() { - const tsc = findPath(process.cwd(), "./built/local/tsc.js") - || (process.env.TYPESCRIPT_REPOSITORY - && findPath(process.env.TYPESCRIPT_REPOSITORY, "./built/local/tsc.js")) - || findPath(__dirname, "./built/local/tsc.js"); - if (!tsc) { - throw new CommandLineParseError( - `Could not resolve the path to the built compiler (i.e. './built/local/tsc.js'). Try specifying '--tsc'.`, - ); - } - return tsc; - }, - param: "file", - description: "Use as the compiler (i.e. './built/local/tsc.js').", - }, + builtDir, suite, compilerOptions: { type: "string", @@ -73,24 +75,7 @@ const compiler: CommandLineOptionSet = { const tsserver: CommandLineOptionSet = { merge: true, options: { - tsserver: { - type: "string", - validate: validatePath, - defaultValue() { - const tsserver = findPath(process.cwd(), "./built/local/tsserver.js") - || (process.env.TYPESCRIPT_REPOSITORY - && findPath(process.env.TYPESCRIPT_REPOSITORY, "./built/local/tsserver.js")) - || findPath(__dirname, "./built/local/tsserver.js"); - if (!tsserver) { - throw new CommandLineParseError( - `Could not resolve the path to the built tsserver (i.e. './built/local/tsserver.js'). Try specifying '--tsserver'.`, - ); - } - return tsserver; - }, - param: "file", - description: "Use as the tsserver (i.e. './built/local/tsserver.js').", - }, + builtDir, suite, extended: { type: "boolean", @@ -103,24 +88,7 @@ const tsserver: CommandLineOptionSet = { const startup: CommandLineOptionSet = { merge: true, options: { - builtDir: { - type: "string", - validate: validatePath, - defaultValue() { - const builtDir = findPath(process.cwd(), "./built/local") - || (process.env.TYPESCRIPT_REPOSITORY - && findPath(process.env.TYPESCRIPT_REPOSITORY, "./built/local")) - || findPath(__dirname, "./built/local"); - if (!builtDir) { - throw new CommandLineParseError( - `Could not resolve the path to the built directory (i.e. './built/local'). Try specifying '--builtDir'.`, - ); - } - return builtDir; - }, - param: "directory", - description: "Use as the built local dir (i.e. './built/local').", - }, + builtDir, suite, }, }; diff --git a/ts-perf/packages/cli/README.md b/ts-perf/packages/cli/README.md index 25512f8..f54db8f 100644 --- a/ts-perf/packages/cli/README.md +++ b/ts-perf/packages/cli/README.md @@ -40,7 +40,7 @@ remarks: ts-perf host install --host node@11.1 --config default=true ``` - Run a benchmark - - Run a compiler benchmark (must be run within the TypeScript repo unless the `--tsc` and `--suite` options are provided): + - Run a compiler benchmark (must be run within the TypeScript repo unless the `--builtDir` and `--suite` options are provided): ```powershell # All compiler scenarios and default hosts ts-perf benchmark tsc --save /path/to/file.benchmark @@ -51,7 +51,7 @@ remarks: # Compare against a baseline ts-perf benchmark tsc --baseline /path/to/baseline.benchmark --save /path/to/file.benchmark ``` - - Run a tsserver benchmark (must be run within the TypeScript repo unless the `--tsserver` and `--suite` options are provided): + - Run a tsserver benchmark (must be run within the TypeScript repo unless the `--builtDir` and `--suite` options are provided): ```powershell # All tsserver scenarios and default hosts ts-perf benchmark tsserver --save /path/to/file.benchmark @@ -62,7 +62,7 @@ remarks: # Compare against a baseline ts-perf benchmark tsserver --baseline /path/to/baseline.benchmark --save /path/to/file.benchmark ``` -- Profile the commandline compiler (must be run within the TypeScript repo unless the `--tsc` and `--suite` options are provided): +- Profile the commandline compiler (must be run within the TypeScript repo unless the `--builtDir` and `--suite` options are provided): ```powershell ts-perf profile --scenario Monaco --host node@11 --out /path/to/file.cpuprofile ``` diff --git a/ts-perf/packages/commands/src/benchmark/measure.ts b/ts-perf/packages/commands/src/benchmark/measure.ts index 57a3e7d..1caa92b 100644 --- a/ts-perf/packages/commands/src/benchmark/measure.ts +++ b/ts-perf/packages/commands/src/benchmark/measure.ts @@ -35,8 +35,7 @@ export async function measureAndRunScenarios({ kind, options }: TSOptions, host: const date = (options.date ? new Date(options.date) : new Date()).toISOString(); const system = SystemInfo.getCurrent(); const repository = Repository.tryDiscover( - kind === "tsc" ? path.dirname(options.tsc) - : kind === "tsserver" ? path.dirname(options.tsserver) : options.builtDir, + options.builtDir, options.repositoryType, options.repositoryUrl, options.repositoryBranch, @@ -138,6 +137,10 @@ async function runCompilerScenario( hostSpecifier: HostSpecifier, hostIndex: number, ): Promise { + const tsc = path.join(options.builtDir, "tsc.js"); + const typescript = path.join(options.builtDir, "typescript.js"); + const tscPublicWrapper = path.join(__dirname, "tscpublic.js"); + const usesPublicApi = !!scenario.tscConfig?.usePublicApi; const temp = await getTempDirectories(); const expansion = ExpansionProvider.getProviders({ runner: { kind: "tsc", options }, temp, scenario, host }); const { cmd, args, hasBuild } = new CommandLineArgumentsBuilder( @@ -147,11 +150,12 @@ async function runCompilerScenario( options.cpus, options.predictable, ) - .add(options.tsc) + .addIf(!usesPublicApi, tsc) + .addIf(usesPublicApi, tscPublicWrapper, typescript) .addCompilerOptions(options, scenario) .add("--diagnostics"); const { cmd: clean, args: cleanargs } = new CommandLineArgumentsBuilder(expansion, host) - .add(options.tsc) + .add(tsc) .addCompilerOptions(options, scenario) .add("--clean"); try { @@ -247,11 +251,12 @@ async function runTSServerScenario( hostSpecifier: HostSpecifier, hostIndex: number, ): Promise { + const tsserver = path.join(options.builtDir, "tsserver.js"); const temp = await getTempDirectories(); const expansion = ExpansionProvider.getProviders({ runner: { kind: "tsserver", options }, temp, scenario, host }); const argsBuilder = new CommandLineArgumentsBuilder(expansion, host, /*exposeGc*/ false) .add(path.join(__dirname, "measuretsserver.js")) - .add("--tsserver", options.tsserver) + .add("--tsserver", tsserver) .add("--commands", scenario.configFile) .add("--suite", options.suite); if (options.extended) { diff --git a/ts-perf/packages/commands/src/benchmark/tscpublic.ts b/ts-perf/packages/commands/src/benchmark/tscpublic.ts new file mode 100644 index 0000000..6167d87 --- /dev/null +++ b/ts-perf/packages/commands/src/benchmark/tscpublic.ts @@ -0,0 +1,53 @@ +const [typescript, ...args] = process.argv.slice(2); + +interface TypeScript { + Debug: { + loggingHost: { + log(level: unknown, s: string): void; + }; + isDebugging: boolean; + enableDebugInfo(): void; + }; + executeCommandLine?(sys: {}, cb: () => void, args: string[]): void; + noop(): void; + sys: { + args: string[]; + newLine: string; + write(s: string): void; + tryEnableSourceMapsForHost?(): void; + setBlocking?(): void; + getEnvironmentVariable(name: string): string; + }; +} + +const ts: TypeScript = require(typescript); + +if (!ts.executeCommandLine) { + // Don't use stderr here; tsc errors via stdout. + console.log("Expected TypeScript API to have executeCommandLine method."); + process.exit(1); +} + +ts.sys.args = args; +process.argv = [process.argv[0], ...args]; + +// Copied from https://github.com/microsoft/TypeScript/blob/main/src/tsc/tsc.ts +ts.Debug.loggingHost = { + log(_level, s) { + ts.sys.write(`${s || ""}${ts.sys.newLine}`); + }, +}; + +if (ts.Debug.isDebugging) { + ts.Debug.enableDebugInfo(); +} + +if (ts.sys.tryEnableSourceMapsForHost && /^development$/i.test(ts.sys.getEnvironmentVariable("NODE_ENV"))) { + ts.sys.tryEnableSourceMapsForHost(); +} + +if (ts.sys.setBlocking) { + ts.sys.setBlocking(); +} + +ts.executeCommandLine(ts.sys, ts.noop, ts.sys.args); diff --git a/ts-perf/packages/commands/src/heap/index.ts b/ts-perf/packages/commands/src/heap/index.ts index f61d8c7..04adfda 100644 --- a/ts-perf/packages/commands/src/heap/index.ts +++ b/ts-perf/packages/commands/src/heap/index.ts @@ -88,8 +88,9 @@ export async function heap(options: HeapProfilerOptions, host: HostContext) { } } + const tsc = path.join(options.builtDir, "tsc.js"); builder - .add("--", path.resolve(options.tsc)) + .add("--", path.resolve(tsc)) .addCompilerOptions(options, scenario) .add("--diagnostics"); diff --git a/ts-perf/packages/commands/src/profile/index.ts b/ts-perf/packages/commands/src/profile/index.ts index 2fdf094..07b050a 100644 --- a/ts-perf/packages/commands/src/profile/index.ts +++ b/ts-perf/packages/commands/src/profile/index.ts @@ -67,8 +67,9 @@ export async function profile(options: ProfilerOptions, host: HostContext) { .addSwitch("--trim", options.trim) .addSwitch("--pretty", options.pretty); + const tsc = path.join(options.builtDir, "tsc.js"); builder - .add("--", path.resolve(options.tsc)) + .add("--", path.resolve(tsc)) .addCompilerOptions(options, scenario) .add("--diagnostics"); diff --git a/ts-perf/packages/commands/src/trace/index.ts b/ts-perf/packages/commands/src/trace/index.ts index 38b4afa..7763383 100644 --- a/ts-perf/packages/commands/src/trace/index.ts +++ b/ts-perf/packages/commands/src/trace/index.ts @@ -83,6 +83,7 @@ async function traceHydrogen( await fs.promises.rm(outDir, { recursive: true, force: true }); await fs.promises.mkdir(outDir, { recursive: true }); + const tsc = path.join(options.builtDir, "tsc.js"); const { cmd, args } = new CommandLineArgumentsBuilder(localExpansion, testHost) .add("--trace-hydrogen") .add(`--trace-hydrogen-file=${hydrogen}`) @@ -92,7 +93,7 @@ async function traceHydrogen( .add("--hydrogen-track-positions") .add("--redirect-code-traces") .add(`--redirect-code-traces-to=${code}`) - .add(options.tsc) + .add(tsc) .addCompilerOptions(options, scenario); host.log(`Tracing Hydrogen IR deoptimizations for '${name}' (this may take awhile)...`); @@ -136,6 +137,7 @@ async function traceTurbofan( try { process.chdir(outDir); + const tsc = path.join(options.builtDir, "tsc.js"); const { cmd, args } = new CommandLineArgumentsBuilder(localExpansion, testHost, /*exposeGc*/ false) .add(`--no-concurrent-recompilation`) .add(`--trace-turbo`) @@ -144,7 +146,7 @@ async function traceTurbofan( .add("--redirect-code-traces") .add("--redirect-code-traces-to=code.asm") .add("--print-all-code") - .add(options.tsc) + .add(tsc) .addCompilerOptions(options, scenario); host.log(`Tracing TurboFan IR deoptimizations for '${name}' (this may take awhile)...`); @@ -214,6 +216,7 @@ async function traceDeoptExplorer( try { process.chdir(outDir); + const tsc = path.join(options.builtDir, "tsc.js"); const { cmd, args } = new CommandLineArgumentsBuilder(localExpansion, testHost, /*exposeGc*/ false) .add(`--trace-ic`) .add(`--trace-maps`) @@ -221,7 +224,7 @@ async function traceDeoptExplorer( .add(`--log-internal-timer-events`) .add(`--no-logfile-per-isolate`) .add(`--logfile=${path.basename(outFile)}`) - .add(options.tsc) + .add(tsc) .addCompilerOptions(options, scenario); host.log(`Tracing deoptimizations for '${name}' (this may take awhile)...`);