v8/test/js-perf-test/ClassFields.json
Joyee Cheung d28bfcd570 [class] refactor ClassFields benchmarks and copy them into JSTests3
This patch refactors the ClassFields benchmarks and makes the results
detection work properly. Previously the errors weren't caught since
the ClassFields benchmarks don't get run in the perf_integration
step in the CI.

- Instead of putting different configs (single/multiple fields, type
  of fields, etc.)in the JSON configuration, we now group the related
  benchmarks into the same script and run the different configurations
  in the scripts directly. Only the optimization status is now
  controlled in JSON. All the class fields definition benchmarks are
  merged into initialize-class.js.
- Update the number of local iterations of evaluate-class.js to 100
  (similar to most of other benchmarks) to keep the time spent on
  this benchmark similar to that of other benchmarks.

In addition, copy the configs to JSTests3 so that the benchmarks gets
run by the perf_integration step and we can see the graphs on
http://chromeperf.appspot.com/report. These can be removed
when the ClassFields benchmark results are generated there too.

Bug: v8:10793, v8:9888
Change-Id: I4e677bdc7b582650f39cf6e9ec02775c57fd04ab
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3226550
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77640}
2021-11-02 08:44:43 +00:00

80 lines
2.8 KiB
JSON

{
"owners": ["caitp@igalia.com", "joyee@igalia.com"],
"name": "ClassFields",
"run_count": 3,
"run_count_arm": 1,
"run_count_arm64": 1,
"timeout": 120,
"timeout_arm64": 240,
"units": "score",
"total": true,
"resources": ["base.js"],
"flags": ["--allow-natives-syntax"],
"tests": [
{
"name": "EvaluateClassOpt",
"path": ["ClassFields"],
"test_flags": [ "evaluate-class", "opt" ],
"main": "run.js",
"results_regexp": "^%s\\-ClassFields\\(Score\\): (.+)$",
"resources": ["classes.js", "evaluate-class.js"],
"tests": [
{"name": "EvaluateSinglePublicFieldClassOpt"},
{"name": "EvaluateMultiPublicFieldClassOpt"},
{"name": "EvaluateSinglePrivateFieldClassOpt"},
{"name": "EvaluateMultiPrivateFieldClassOpt"},
{"name": "EvaluateSingleComputedFieldClassOpt"},
{"name": "EvaluateMultiComputedFieldClassOpt"}
]
},
{
"name": "EvaluateClassNoOpt",
"path": ["ClassFields"],
"test_flags": [ "evaluate-class", "noopt" ],
"main": "run.js",
"results_regexp": "^%s\\-ClassFields\\(Score\\): (.+)$",
"resources": ["classes.js", "evaluate-class.js"],
"tests": [
{"name": "EvaluateSinglePublicFieldClassNoOpt"},
{"name": "EvaluateMultiPublicFieldClassNoOpt"},
{"name": "EvaluateSinglePrivateFieldClassNoOpt"},
{"name": "EvaluateMultiPrivateFieldClassNoOpt"},
{"name": "EvaluateSingleComputedFieldClassNoOpt"},
{"name": "EvaluateMultiComputedFieldClassNoOpt"}
]
},
{
"name": "InitializeClassOpt",
"path": ["ClassFields"],
"test_flags": [ "initialize-instance", "opt" ],
"main": "run.js",
"results_regexp": "^%s\\-ClassFields\\(Score\\): (.+)$",
"resources": ["classes.js", "initialize-instance.js"],
"tests": [
{"name": "InitializeSinglePublicFieldClassOpt"},
{"name": "InitializeMultiPublicFieldClassOpt"},
{"name": "InitializeSinglePrivateFieldClassOpt"},
{"name": "InitializeMultiPrivateFieldClassOpt"},
{"name": "InitializeSingleComputedFieldClassOpt"},
{"name": "InitializeMultiComputedFieldClassOpt"}
]
},
{
"name": "InitializeClassNoOpt",
"path": ["ClassFields"],
"test_flags": [ "initialize-instance", "noopt" ],
"main": "run.js",
"results_regexp": "^%s\\-ClassFields\\(Score\\): (.+)$",
"resources": ["classes.js", "initialize-instance.js"],
"tests": [
{"name": "InitializeSinglePublicFieldClassNoOpt"},
{"name": "InitializeMultiPublicFieldClassNoOpt"},
{"name": "InitializeSinglePrivateFieldClassNoOpt"},
{"name": "InitializeMultiPrivateFieldClassNoOpt"},
{"name": "InitializeSingleComputedFieldClassNoOpt"},
{"name": "InitializeMultiComputedFieldClassNoOpt"}
]
}
]
}